Commit d87be0a2 by 王军业

21254521

1 parent ff2cb3ae
......@@ -35,11 +35,15 @@ public class AppendixController extends BaseController{
@Resource
AppendixService AppendixService;
//新增
@PostMapping(value="/{contract_unid}/upload/appendixes")
@ResponseBody
public Object upload( AppendixVo appendixVo) {
return AppendixService.upload(appendixVo);
}
//修改
@PutMapping(value="/{contract_unid}/upload/appendixes")
@ResponseBody
public Object update(@RequestBody Appendix appendix) {
......
......@@ -11,6 +11,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@RequestMapping(value="/api/v1/financial/contracts")
public class BaseController extends WebMvcConfigurerAdapter {
@Override
/**
* 解决跨域问题
*/
public void addCorsMappings(CorsRegistry corsRegistry) {
corsRegistry.addMapping("/api/v1/financial/contracts/**")
.allowedOrigins("*")
......
......@@ -9,8 +9,10 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.vion.financial.service.ContractService;
import com.vion.financial.vo.ContractVo;
......@@ -65,4 +67,10 @@ public class ContractController extends BaseController {
public void downLoadExcel(SelectVo selectVo,HttpServletResponse response) {
contractService.exportExcel(selectVo, response);
}
@PostMapping(value="/import")
@ResponseBody
public Object importExcel(@RequestParam("file") MultipartFile file) {
return contractService.importExcel(file);
}
}
......@@ -9,4 +9,5 @@ public interface CustomerMapper {
public List<Customer> queryCustomer();
public void updateCustomer(Customer customer);
public void deleteCustomer(int n);
public Customer selectByName(String name);
}
......@@ -9,4 +9,5 @@ public interface ProjectMapper {
public List<Project> queryProject();
public void updateProject(Project project);
public void deleteProject(int n);
public Project selectByName(String name);
}
......@@ -38,7 +38,7 @@
,deduct_amount
</if>
<if test="contract_amount_note != null and contract_amount_note != ''">
,contract_type
,contract_amount_note
</if>
<if test="stop_amount != null ">
,stop_amount
......@@ -86,6 +86,15 @@
<if test="customer_unid != null and customer_unid != ''">
,customer_unid
</if>
<if test="province_name !=null and province_name !=''">
,province_name
</if>
<if test="city_name !=null and city_name !=''">
,city_name
</if>
<if test="county_name !=null and county_name !=''">
,county_name
</if>
) VALUES(
#{contract_unid}
<if test="salesperson_unid != null and salesperson_unid != ''">
......@@ -104,7 +113,7 @@
,#{guarantee_period}
</if>
<if test="sign_date != null ">
,{sign_date,typeHandler=com.vion.financial.handler.MilliDateTypeHandler}
,#{sign_date,typeHandler=com.vion.financial.handler.MilliDateTypeHandler}
</if>
<if test="product_line_type != null and product_line_type != ''">
,#{product_line_type}
......@@ -122,7 +131,7 @@
,#{deduct_amount}
</if>
<if test="contract_amount_note != null and contract_amount_note != ''">
,#{contract_type}
,#{contract_amount_note}
</if>
<if test="stop_amount != null ">
,#{stop_amount}
......@@ -170,6 +179,15 @@
<if test="customer_unid != null and customer_unid != ''">
,#{customer_unid}
</if>
<if test="province_name !=null and province_name !=''">
,#{province_name}
</if>
<if test="city_name !=null and city_name !=''">
,#{city_name}
</if>
<if test="county_name !=null and county_name !=''">
,#{county_name}
</if>
)
</insert>
......@@ -524,6 +542,10 @@
and
contract_unid in (select receive_amount_view.contract_unid from receive_amount_view where receive_amount_view.leave_amount_point <![CDATA[<=]]> #{leave_amount_end_point})
</if>
<if test="salesperson_unid !=null and salesperson_unid !=''">
and
salesperson_unid = #{salesperson_unid}
</if>
and is_delete=false
and project_unid is not null
and customer_unid is not null
......
......@@ -14,4 +14,7 @@
<delete id="deleteCustomer" parameterType="int">
delete from tb_customer where customer_unid = #{customer_unid}
</delete>
<select id="selectByName" parameterType="String" resultType="com.vion.financial.entity.Customer">
select * from tb_customer where customer_name = #{customer_name}
</select>
</mapper>
\ No newline at end of file
......@@ -14,4 +14,7 @@
<delete id="deleteProject" parameterType="int">
delete from tb_project where project_unid = #{project_unid}
</delete>
<select id="selectByName" parameterType="String" resultType="com.vion.financial.entity.Project">
select * from tb_project where project_name=#{project_name}
</select>
</mapper>
\ No newline at end of file
......@@ -2,6 +2,8 @@ package com.vion.financial.service;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
import com.vion.financial.vo.ContractVo;
import com.vion.financial.vo.SelectVo;
......@@ -14,4 +16,5 @@ public interface ContractService {
Boolean isDelete(String s);
public Object selectByCondition(SelectVo selectVo);
public void exportExcel(SelectVo selectVo,HttpServletResponse response);
public Object importExcel(MultipartFile file);
}
package com.vion.financial.service.imp;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import com.vion.financial.handler.DownLoad;
import com.vion.financial.handler.ImportExcel;
import java.util.List;
import java.util.Map;
......@@ -12,14 +18,30 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.vion.financial.config.FinanceConfig;
import com.vion.financial.entity.Appendix;
import com.vion.financial.entity.Customer;
import com.vion.financial.entity.DeliverGoods;
import com.vion.financial.entity.PaymentAgree;
import com.vion.financial.entity.Project;
import com.vion.financial.entity.ProjectAcceptanc;
import com.vion.financial.entity.Receipt;
import com.vion.financial.entity.ReturnInfo;
import com.vion.financial.excel.ExportModel;
import com.vion.financial.excel.ImportModel;
import com.vion.financial.mapper.AppendixMapper;
import com.vion.financial.mapper.ContractMapper;
import com.vion.financial.mapper.CustomerMapper;
import com.vion.financial.mapper.DeliverGoodsMapper;
import com.vion.financial.mapper.PaymentAgreeMapper;
import com.vion.financial.mapper.ProjectAcceptancMapper;
import com.vion.financial.mapper.ProjectMapper;
import com.vion.financial.mapper.ReceiptMapper;
import com.vion.financial.mapper.ReturnInfoMapper;
import com.vion.financial.service.ContractService;
import com.vion.financial.utils.DateUtil;
import com.vion.financial.utils.HttpNetClient;
import com.vion.financial.utils.JavaBean2Json;
import com.vion.financial.vo.ContractVo;
......@@ -44,7 +66,25 @@ public class ContractServiceImpl implements ContractService {
@Autowired
FailCode failCode;
@Autowired
ProjectMapper projectMapper;
@Autowired
CustomerMapper customerMapper;
@Autowired
ReturnInfoMapper returnInfoMapper;
@Autowired
ReceiptMapper receiptMapper;
@Autowired
ProjectAcceptancMapper ProjectAcceptancMapper;
@Autowired
DeliverGoodsMapper deliverGoodsMapper;
@Autowired
FinanceConfig financeConfig;
......@@ -385,7 +425,7 @@ public class ContractServiceImpl implements ContractService {
String result = HttpNetClient.doGet(url, null);
Map map = JavaBean2Json.Json2JavaBean(result, Map.class);
list_data = (List<Map>) map.get("list_data");
/*
String provinceurl=financeConfig.getProvinceurl();
String province_results=HttpNetClient.doGet(provinceurl, null);
......@@ -525,4 +565,280 @@ public class ContractServiceImpl implements ContractService {
e.printStackTrace();
}
}
@Override
public Object importExcel(MultipartFile file) {
ImportExcel importExcel = new ImportExcel();
try {
List<ImportModel> successList=importExcel.Import(file);
ContractVo contractVo = null;
ReturnInfo returnInfo=null;
Receipt receipt=null;
Project project = null;
Customer customer = null;
ProjectAcceptanc projectAcceptanc_pre=null;
ProjectAcceptanc projectAcceptanc_end=null;
PaymentAgree pre_aymentAgree=null;
PaymentAgree arrival_aymentAgree=null;
PaymentAgree acceptanc_aymentAgree=null;
PaymentAgree mainten_aymentAgree=null;
DeliverGoods deliverGoods=null;
for(ImportModel importModel:successList) {
contractVo=new ContractVo();
returnInfo=new ReturnInfo();
receipt=new Receipt();
project = new Project();
customer = new Customer();
projectAcceptanc_pre = new ProjectAcceptanc();
projectAcceptanc_end = new ProjectAcceptanc();
pre_aymentAgree=new PaymentAgree();
arrival_aymentAgree=new PaymentAgree();
acceptanc_aymentAgree =new PaymentAgree();
mainten_aymentAgree =new PaymentAgree();
deliverGoods = new DeliverGoods();
contractVo.setContract_unid(importModel.getContract_unid());
//String temp=new SimpleDateFormat("yyyy-MM-dd").format(importModel.getSign_date());
//Long date=importModel.getSign_date().getTime();
contractVo.setSign_date(importModel.getSign_date());
if(importModel.getProduct_line_type_name()!=null) {
switch(importModel.getProduct_line_type_name()) {
case "安防" :
contractVo.setProduct_line_type("20001");
break;
case "交通" :
contractVo.setProduct_line_type("20002");
break;
case "客流" :
contractVo.setProduct_line_type("20003");
break;
case "维保" :
contractVo.setProduct_line_type("20004");
break;
default:
break;
}
}
List<Map> list_data = null;
String url = financeConfig.getAuthurl();
String result = HttpNetClient.doGet(url, null);
Map map = JavaBean2Json.Json2JavaBean(result, Map.class);
list_data = (List<Map>) map.get("list_data");
if(list_data != null && list_data.size() > 0) {
for(Map _map:list_data) {
if(importModel.getSalesperson_name().equals(_map.get("name"))) {
contractVo.setSalesperson_unid(_map.get("user_unid").toString());
}
}
}
contractVo.setProvince_name(importModel.getProvince_name());
contractVo.setCity_name(importModel.getCity_name());
contractVo.setCounty_name(importModel.getCounty_name());
if(projectMapper.selectByName(importModel.getProject_name())!=null) {
contractVo.setProject_unid(projectMapper.selectByName(importModel.getProject_name()).getProject_unid());
}else {
project.setProject_name(importModel.getProject_name());
projectMapper.addProject(project);
contractVo.setProject_unid(projectMapper.selectByName(importModel.getProject_name()).getProject_unid());
}
if(customerMapper.selectByName(importModel.getCustomer_name())!=null) {
contractVo.setCustomer_unid(customerMapper.selectByName(importModel.getCustomer_name()).getCustomer_unid());
}else {
customer.setCustomer_name(importModel.getCustomer_name());
customerMapper.addCustomer(customer);
contractVo.setCustomer_unid(customerMapper.selectByName(importModel.getCustomer_name()).getCustomer_unid());
}
contractVo.setContract_amount(importModel.getContract_amount());
contractVo.setStop_amount(importModel.getStop_amount());
contractVo.setBad_amount(importModel.getBad_amount());
contractVo.setExemptions_amount(importModel.getExemptions_amount());
contractVo.setDeduct_amount(importModel.getDeduct_amount());
if(importModel.getContract_state_name()!=null) {
switch(importModel.getContract_state_name()) {
case "已完成":
contractVo.setContract_state("30001");
break;
case "施工中":
contractVo.setContract_state("30003");
break;
case "待发货":
contractVo.setContract_state("30002");
break;
case "项目暂停":
contractVo.setContract_state("30004");
break;
default:
break;
}
}
contractVo.setGuarantee_period(importModel.getGuarantee_period());
if(importModel.getContract_type() != null) {
switch(importModel.getContract_type()) {
case "供货":
contractVo.setContract_type("40001");
break;
case "施工":
contractVo.setContract_type("40002");
break;
case "集成":
contractVo.setContract_type("40003");
break;
case "维保":
contractVo.setContract_type("40004");
break;
default:
break;
}
}
//contractVo.setContract_type(importModel.getContract_type());
if(importModel.getIs_archive() != null && importModel.getIs_archive().equals("是")) {
contractVo.setIs_archive(true);
}else if(importModel.getIs_archive() != null && importModel.getIs_archive().equals("否")) {
contractVo.setIs_archive(false);
}
contractVo.setConfirm_income_amount(importModel.getConfirm_income_amount());
if(importModel.getAmount_state_name() != null) {
switch(importModel.getAmount_state_name()) {
case "正常验收款":
contractVo.setAmount_state_unid("50001");
break;
case "正常维保":
contractVo.setAmount_state_unid("50002");
break;
case "正常预付款":
contractVo.setAmount_state_unid("50003");
break;
case "正常到货款":
contractVo.setAmount_state_unid("50004");
break;
case "正常质保款":
contractVo.setAmount_state_unid("50005");
break;
case "逾期预付款":
contractVo.setAmount_state_unid("50006");
break;
case "逾期到货款":
contractVo.setAmount_state_unid("50007");
break;
case "逾期验收款":
contractVo.setAmount_state_unid("50008");
break;
case "逾期质保款":
contractVo.setAmount_state_unid("50009");
break;
default:
break;
}
}
contractVo.setStart_guarantee_date(importModel.getStart_guarantee_date());
contractVo.setEnd_guarantee_date(importModel.getEnd_guarantee_date());
if(importModel.getMainten_start_point()!=null) {
switch(importModel.getMainten_start_point()) {
case "签订时间":
contractVo.setMainten_start_point("60001");
break;
case "到货验收时间":
contractVo.setMainten_start_point("60002");
break;
case "项目终验时间":
contractVo.setMainten_start_point("60003");
break;
default:
break;
}
}
contractVo.setContract_amount_note(importModel.getDeduct_amount_note());
contractVo.setReback_note(importModel.getStop_amount_note());
contractVo.setContract_remain_note(importModel.getExemptions_amount_note());
contractVo.setBad_amount_note(importModel.getBad_amount_note());
contractVo.setContract_note(importModel.getContract_note());
pre_aymentAgree.setContract_unid(importModel.getContract_unid());
pre_aymentAgree.setPayment_type("100001");
pre_aymentAgree.setPayment_progress(1);
pre_aymentAgree.setPayment_propority(importModel.getAdvance_payment_propority());
pre_aymentAgree.setPayment_requirement(importModel.getAdvance_payment_requirement());
pre_aymentAgree.setDays(importModel.getAdvance_payment_days());
arrival_aymentAgree.setContract_unid(importModel.getContract_unid());
arrival_aymentAgree.setPayment_type("100002");
arrival_aymentAgree.setPayment_progress(2);
arrival_aymentAgree.setPayment_propority(importModel.getArrival_payment_propority());
arrival_aymentAgree.setPayment_requirement(importModel.getArrival_payment_requirement());
arrival_aymentAgree.setDays(importModel.getArrival_payment_days());
acceptanc_aymentAgree.setContract_unid(importModel.getContract_unid());
acceptanc_aymentAgree.setPayment_type("100003");
acceptanc_aymentAgree.setPayment_progress(3);
acceptanc_aymentAgree.setPayment_propority(importModel.getAcceptanc_payment_propority());
acceptanc_aymentAgree.setPayment_requirement(importModel.getAcceptanc_payment_requirement());
acceptanc_aymentAgree.setDays(importModel.getAcceptanc_payment_days());
deliverGoods.setDeliver_goods_date(importModel.getDeliver_date());
deliverGoods.setGoods_acceptanc_date(importModel.getGoods_acceptanc_date());
deliverGoods.setContract_unid(importModel.getContract_unid());
mainten_aymentAgree.setContract_unid(importModel.getContract_unid());
if(importModel.getMainten_payment_type().equals("1")) {
mainten_aymentAgree.setPayment_type("100004");
}else if(importModel.getMainten_payment_type().equals("2")) {
mainten_aymentAgree.setPayment_type("100005");
}
mainten_aymentAgree.setPayment_progress(4);
mainten_aymentAgree.setPayment_propority(importModel.getMainten_payment_propority());
mainten_aymentAgree.setPayment_requirement(importModel.getMainten_payment_requirement());
mainten_aymentAgree.setDays(importModel.getMainten_payment_days());
returnInfo.setContract_unid(importModel.getContract_unid());
returnInfo.setActual_reback_amount(importModel.getReback_amount());
returnInfo.setReback_date(importModel.getReback_date());
returnInfo.setReback_note(importModel.getReback_note());
returnInfo.setReback_progress(1);
receipt.setContract_unid(importModel.getContract_unid());
receipt.setReceipt_amount(importModel.getReceipt_amount());
receipt.setOa_flow_id(importModel.getOa_flow_id());
receipt.setReceipt_note(importModel.getReceipt_note());
receipt.setReceipt_progress(1);
if(importModel.getPre_acceptanc() != null && importModel.getPre_acceptanc().equals("是")) {
projectAcceptanc_pre.setAcceptanc_type("1");
projectAcceptanc_pre.setContract_unid(importModel.getContract_unid());
projectAcceptanc_pre.setAcceptanc_date(importModel.getPre_acceptanc_date());
projectAcceptanc_pre.setAcceptanc_note(importModel.getPre_acceptanc_note());
}
if(importModel.getEnd_acceptanc() != null && importModel.getEnd_acceptanc().equals("是")) {
projectAcceptanc_end.setAcceptanc_type("2");
projectAcceptanc_end.setContract_unid(importModel.getContract_unid());
projectAcceptanc_end.setAcceptanc_date(importModel.getEnd_acceptanc_date());
projectAcceptanc_end.setAcceptanc_note(importModel.getEnd_acceptanc_note());
}
contractMapper.addOne(contractVo);
returnInfoMapper.addReturnInfo(returnInfo);
receiptMapper.addReceipt(receipt);
if(projectAcceptanc_pre.getContract_unid() != null) {
ProjectAcceptancMapper.addProjectAcceptanc(projectAcceptanc_pre);
}
if(projectAcceptanc_end.getContract_unid() != null) {
ProjectAcceptancMapper.addProjectAcceptanc(projectAcceptanc_end);
}
paymentAgreeMapper.addPaymentAgree(pre_aymentAgree);
paymentAgreeMapper.addPaymentAgree(arrival_aymentAgree);
paymentAgreeMapper.addPaymentAgree(acceptanc_aymentAgree);
paymentAgreeMapper.addPaymentAgree(mainten_aymentAgree);
deliverGoodsMapper.addDeliverGoods(deliverGoods);
}
return successList;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
failCode.setEcode("500");
failCode.setEnote("导入异常");
return failCode;
}
}
......@@ -11,6 +11,7 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include;
@JsonInclude(value=Include.NON_NULL)
public class SelectVo {
private String contract_unid;
private String salesperson_unid; //销售员id
private String salesperson_name__like; //销售员name,模糊查询
private String project_name__like; //工程name,模糊查询
private String customer_name__like; //客户name,模糊查询
......@@ -212,6 +213,12 @@ public class SelectVo {
public void setContract_unid(String contract_unid) {
this.contract_unid = contract_unid;
}
public String getSalesperson_unid() {
return salesperson_unid;
}
public void setSalesperson_unid(String salesperson_unid) {
this.salesperson_unid = salesperson_unid;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!