【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看

上一次我们完成了购销合同列表的显示,下面我们来完成购销合同增加、修改、删除、查方法看。

首先回顾一下我们的Mapper映射文件
ContractMapper.xml:




	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	
	
	
		insert into contract_c
		(CONTRACT_ID,,OFFEROR,CONTRACT_NO,SIGNING_DATE,INPUT_BY,CHECK_BY,INSPECTOR,TOTAL_AMOUNT,
		IMPORT_NUM,CREQUEST,CUSTOM_NAME,DELIVERY_PERIOD,SHIP_TIME,TRADE_TERMS,REMARK,PRINT_STYLE,
		OLD_STATE,STATE,OUT_STATE,CREATE_BY,CREATE_DEPT,CREATE_TIME)
		values
		(
			#{id},
			#{offeror, jdbcType=VARCHAR},
			#{contractNo, jdbcType=VARCHAR},
			#{signingDate, jdbcType=TIMESTAMP},
			#{inputBy, jdbcType=VARCHAR},
			#{checkBy, jdbcType=VARCHAR},
			#{inspector, jdbcType=VARCHAR},
			#{totalAmount, jdbcType=DOUBLE},
			#{importNum, jdbcType=INTEGER},
			#{crequest, jdbcType=VARCHAR},
			#{customName, jdbcType=VARCHAR},
			#{deliveryPeriod, jdbcType=TIMESTAMP},
			#{shipTime, jdbcType=TIMESTAMP},
			#{tradeTerms, jdbcType=VARCHAR},
			#{remark, jdbcType=VARCHAR},
			#{printStyle, jdbcType=CHAR},
			#{oldState, jdbcType=INTEGER},
			#{state, jdbcType=INTEGER},
			#{outState, jdbcType=INTEGER},
			#{createBy, jdbcType=VARCHAR},
			#{creatDept, jdbcType=VARCHAR},
			#{creatTime, jdbcType=TIMESTAMP}
		)
	
	
	
	
		update contract_c
		
			OFFEROR=#{offeror},
			CONTRACT_NO=#{contractNo},
			SIGNING_DATE=#{signingDate},
			INPUT_BY=#{inputBy},
			CHECK_BY=#{checkBy},
			INSPECTOR=#{inspector},
			TOTAL_AMOUNT=#{totalAmount},
			IMPORT_NUM=#{importNum},
			CREQUEST=#{crequest},
			CUSTOM_NAME=#{customName},
			DELIVERY_PERIOD=#{deliveryPeriod},
			SHIP_TIME=#{shipTime},
			TRADE_TERMS=#{tradeTerms},
			REMARK=#{remark},
			PRINT_STYLE=#{printStyle},
			OLD_STATE=#{oldState},
			STATE=#{state},
			OUT_STATE=#{outState},
		
		where contract_id=#{id}
	
	
	
	
		delete from contract_c
		where CONTRACT_ID=#{id}
	
	
	
	
		delete from contract_c
		where CONTRACT_ID in  
		
			#{id}
		
	
	
	
	
		update contract_c set state=#{state}
		where CONTRACT_ID in
		
			#{id}
		
	


可见我们已经发提前写好了增删改查的配置语句

我们首先来写增加功能
来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
public void insert(T entity) {
	this.getSqlSession().insert(ns + ".insert", entity);
}

所以Dao层不用再添加代码。

接下来是我们的Service层
之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
@Override
public void insert(Contract contract) {
	//设置UUID
	contract.setId(UUID.randomUUID().toString());
	contract.setState(0);//默认为草稿
	contractDao.insert(contract);
}
所以Service层无需添加代码

接下来看Controller层
我们在ContractController中添加以下方法
//跳到添加编辑页面
@RequestMapping("/cargo/contract/tocreate.action")
public String tocreate(){
	return "/cargo/contract/jContractCreate.jsp";
}


//添加
@RequestMapping("/cargo/contract/insert.action")
public String insert(Contract contract){
	contractService.insert(contract);
	
	return "redirect:/cargo/contract/list.action";
}


接下来我们编写编辑页面的jsp文件:

jContractCreate.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="../../base.jsp"%>


    添加购销合同
    


添加购销合同信息
客户名称: 收购方:
合同号: 签单日期:
制单人: 审单人:
验货员: 检验员:
总金额: 重要程度:
要求: 交货期限:
船期: 贸易条款:
打印版式: 两款 一款 归档前状态:
状态: 走货状态:
说明:

关于时间选取我们在中间使用了“js时间拾取器”,具体js文件在: js时间拾取器.zip (点击下载),里面有使用说明。

我们在购销合同列表添加一个按钮(上一次已添加过):
  • 添加
  • 效果
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第1张图片

    点击添加,添加成功!
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第2张图片

    注意,我们这里的总金额并不是让我们输入的,是后台根据购销合同的附带货物金额生成的,这里我们还没有写附带货物,所以暂时先这么写。

    我们接下来写修改功能
    Mapper文件中已经写好了修改的相关配置语句,那么来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
    public void update(T entity) {
    	this.getSqlSession().update(ns + ".update", entity);
    }
    

    所以Dao层不用再添加代码。

    接下来是我们的Service层
    之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
    @Override
    public void update(Contract contract) {
    	
    	contractDao.update(contract);
    }
    所以Service层无需添加代码

    接下来看Controller层
    我们在ContractController中添加以下方法
    //跳转到编辑页面
    @RequestMapping("/cargo/contract/toupdate.action")
    public String toupdate(String id,Model model){
    	Contract obj=contractService.get(id);
    	model.addAttribute("obj",obj);
    	
    	return "/cargo/contract/jContractUpdate.jsp";
    }
    
    
    //修改方法
    @RequestMapping("/cargo/contract/update.action")
    public String update(Contract contract){
    	contractService.update(contract);
    	
    	return "redirect:/cargo/contract/list.action";
    }
    

    之后编写修改的编辑jsp页面:
    jContractUpdate.jsp
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ include file="../../base.jsp"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>
    
    
        修改购销合同
        
    
    
    
    修改购销合同信息
    客户名称: 收购方:
    合同号: 签单日期: " οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/>
    制单人: 审单人:
    验货员: 总金额:
    要求: 交货期限: " οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/>
    船期: " οnclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/> 贸易条款:
    打印版式: checked="checked"/>两款 checked="checked"/>一款 归档前状态:
    状态: 走货状态:
    重要程度: checked="checked"/> checked="checked"/> checked="checked"/>
    说明:

    购销合同列表中原来已经添加有修改的按钮了:
  • 修改

  • 效果:
    点击修改(添加审单人、制单人等)
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第3张图片

    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第4张图片
    修改之后的结果
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第5张图片


    修改方法完成!

    下面我们写删除方法:
    Mapper文件中已经写好了删除的相关配置语句,那么来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
    public void deleteById(Serializable id) {
    	this.getSqlSession().delete(ns + ".deleteById", id);
    }
    
    
    public void delete(Serializable[] ids) {
    	this.getSqlSession().delete(ns + ".delete", ids);
    }

    所以Dao层不用再添加代码。

    接下来是我们的Service层
    之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
    @Override
    public void delete(Serializable[] ids) {
    	contractDao.delete(ids);
    }
    
    
    @Override
    public void deleteById(Serializable id) {
    	contractDao.deleteById(id);
    }
    所以Service层无需添加代码

    接下来看Controller层
    我们在ContractController中添加以下方法
    //删除方法
    @RequestMapping("/cargo/contract/delete.action")
    public String delete(String[] ids){
    	contractService.delete(ids);
    	
    	return "redirect:/cargo/contract/list.action";
    }
    

    我们list界面已经有删除按钮了:
  • 删除

  • 测试:
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第6张图片
    测试结果:
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第7张图片


    删除方法成功!

    接下来我们来写查看方法
    Mapper文件中已经写好了查看的相关配置语句,那么来看我们的Dao层,因为我们继承了BaseDao以及BaseDaoImpl,所以我们拥有下面的方法:
    public T get(Serializable id) {
    	return this.getSqlSession().selectOne(ns + ".get", id);
    }

    所以Dao层不用再添加代码。

    之前我们已经在ContractService以及ContractServiceImpl添加了下面的方法
    @Override
    public Contract get(Serializable id) {
    	return contractDao.get(id);
    }
    所以Service层无需添加代码

    接下来看Controller层
    我们在ContractController中添加以下方法
    //查看方法
    @RequestMapping("/cargo/contract/toview.action")
    public String toview(String id,Model model){
    	Contract obj=contractService.get(id);
    	model.addAttribute("obj", obj);
    	
    	return "/cargo/contract/jContractView.jsp";
    }
    

    我们来编写查看界面的jsp代码:
    jContractView.jsp
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ include file="../../base.jsp"%>
    
    
        查看购销合同
        
    
    
    
    查看购销合同信息
    客户名称: ${obj.customName } 收购方: ${obj.offeror }
    合同号: ${obj.contractNo } 签单日期:
    制单人: ${obj.inputBy } 审单人: ${obj.checkBy }
    验货员: ${obj.inspector } 总金额: ${obj.totalAmount}
    要求: ${obj.crequest} 交货期限:
    船期: 贸易条款: ${obj.tradeTerms }
    打印版式: 两款 一款 归档前状态: ${obj.oldState}
    状态: ${obj.state} 走货状态: ${obj.outState}
    重要程度:
    说明:
    ${obj.remark}

    我们list界面已经有查看按钮了:
  • 查看

  • 测试:
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第8张图片
    测试结果:
    【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看_第9张图片

    查看方法成功!

    到此购销合同的增删改查方法编写完毕

    最后还剩下一个“上报”和“取消”功能,我们下篇总结再介绍。

    转载请注明出处:http://blog.csdn.net/acmman/article/details/48467391

    你可能感兴趣的:(java,xhtml,javascript,ViewUI)