| | |
| | | import java.io.Serializable; |
| | | |
| | | @Data |
| | | @TableName("erp_prdt") |
| | | @TableName("PRDT") |
| | | public class Prdt implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | */ |
| | | @ApiModelProperty(value = "品号") |
| | | @TableId(value = "prd_no", type = IdType.INPUT) |
| | | @TableField("prd_no") |
| | | @TableField("PRD_NO") |
| | | private String prdNo; |
| | | |
| | | /** |
| | | * 品名 |
| | | */ |
| | | @ApiModelProperty(value = "品名") |
| | | @TableField("NAME") |
| | | private String name; |
| | | |
| | | /** |
| | | * 单位 |
| | | */ |
| | | @ApiModelProperty(value = "单位") |
| | | @TableField("UT") |
| | | private String ut; |
| | | |
| | | /** |
| | | * 规格 |
| | | */ |
| | | @ApiModelProperty(value = "规格") |
| | | @TableField("SPC") |
| | | private String spc; |
| | | |
| | | /** |
| | | * 类型 |
| | | */ |
| | | @ApiModelProperty(value = "类型") |
| | | @TableField("TYPE") |
| | | private Integer type; |
| | | |
| | | /** |
| | | * 状态 |
| | | */ |
| | | @ApiModelProperty(value = "状态") |
| | | @TableField("STATUS") |
| | | private Integer status; |
| | | |
| | | public Prdt() { |
| | |
| | | private MatService matService; |
| | | |
| | | /** |
| | | * 获取商品信息表资料 |
| | | * 获取商品信息表资料 年前 |
| | | */ |
| | | @Scheduled(cron = "${erp.refreshtime}") |
| | | public void obtainPedt() { |
| | | if (!erpEnabled) return; |
| | | String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,type,status from erp_prdt where 1=1"; |
| | | String sqlUpDatePrdtOne = "update erp_prdt set status=1 where prd_no="; |
| | | String sqlUpDatePrdtTwo = "update erp_prdt set status=2 where prd_no="; |
| | | String sqlSelectPrdt = "select PRD_NO as prdNo,NAME as name,UT as ut,SPC as spc from PRDT where 1=1"; |
| | | String sqlUpDatePrdtOne = "update PRDT set STATUS=1 where PRD_NO="; |
| | | String sqlUpDatePrdtTwo = "update PRDT set STATUS=2 where PRD_NO="; |
| | | try { |
| | | Tag tag = tagService.selectByName("全部", 1); |
| | | |
| | |
| | | if (prdts.size() > 0) { |
| | | for (Prdt prdt : prdts) { |
| | | Date date = new Date(); |
| | | Integer type = prdt.getType(); |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (Cools.isEmpty(mat)) { |
| | | Mat matNew = new Mat(); |
| | | matNew.setTagId(tag.getId()); |
| | | matNew.setMatnr(prdt.getPrdNo()); |
| | | matNew.setMaktx(prdt.getName()); |
| | | matNew.setUnit(prdt.getUt()); |
| | | matNew.setSpecs(prdt.getSpc()); |
| | | matNew.setCreateBy(9999L);//9999表示erp下发 |
| | | matNew.setCreateTime(date); |
| | | matNew.setUpdateBy(9999L);//9999表示erp下发 |
| | | matNew.setUpdateTime(date); |
| | | if (matService.insert(matNew)) { |
| | | // erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true); |
| | | } else { |
| | | // erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false); |
| | | } |
| | | } else { |
| | | // erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false); |
| | | } |
| | | /*Date date = new Date(); |
| | | if (prdt.getStatus() == 0) { |
| | | Integer type = prdt.getType(); |
| | | if (type == 1) { |
| | |
| | | matNew.setUpdateTime(date); |
| | | if (matService.insert(matNew)) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!添加商品信息成功!", true); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false); |
| | | } |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息失败!!!商品已存在!!!", false); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false); |
| | | } |
| | | } else if (type == 2) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | |
| | | mat.setSpecs(prdt.getSpc()); |
| | | if (matService.updateById(mat)) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!修改商品信息成功!", true); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!修改商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false); |
| | | } |
| | | } |
| | | } else if (type == 3) { |
| | |
| | | if (!Cools.isEmpty(mat)) { |
| | | if (matService.deleteById(mat.getId())) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!删除商品信息成功!", true); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!删除商品信息失败!", false); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息失败!", false); |
| | | } |
| | | } |
| | | } else { |
| | | callApiLogSave(prdt, "erp_prdt", "商品信息出现异常资料未处理!", false); |
| | | callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false); |
| | | } |
| | | } else if (prdt.getStatus() == 1) { |
| | | }*/ /*else if (prdt.getStatus() == 1) { |
| | | HashMap<String, Object> condition = new HashMap<>(); |
| | | condition.put("prd_no", "'" + prdt.getPrdNo() + "'"); |
| | | condition.put("name", "'" + prdt.getName() + "'"); |
| | | condition.put("ut", "'" + prdt.getUt() + "'"); |
| | | condition.put("spc", "'" + prdt.getSpc() + "'"); |
| | | condition.put("type", "'" + prdt.getType() + "'"); |
| | | condition.put("status", "'" + prdt.getStatus() + "'"); |
| | | condition.put("PRD_NO", "'" + prdt.getPrdNo() + "'"); |
| | | condition.put("NAME", "'" + prdt.getName() + "'"); |
| | | condition.put("UT", "'" + prdt.getUt() + "'"); |
| | | condition.put("SPC", "'" + prdt.getSpc() + "'"); |
| | | condition.put("TYPE", "'" + prdt.getType() + "'"); |
| | | condition.put("STATUS", "'" + prdt.getStatus() + "'"); |
| | | erpSqlServer.insert(PrdtBak.class, condition); |
| | | // callApiLogSave(prdt, "erp_prdt_bak", "ERP下发商品信息备份成功!", true); |
| | | |
| | | HashMap<String, String> condition2 = new HashMap<>(); |
| | | condition2.put("prd_no", "'" + prdt.getPrdNo() + "'"); |
| | | erpSqlServer.delete(Prdt.class, condition2); |
| | | // callApiLogSave(prdt, "erp_prdt_bak", "ERP下发商品信息备份后删除成功!", true); |
| | | // callApiLogSave(prdt, "erp_prdt", "ERP下发商品信息备份后删除成功!", true); |
| | | } else { |
| | | callApiLogSave(prdt, "erp_prdt", "商品信息出现异常资料未处理!", false); |
| | | } |
| | | callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false); |
| | | }*/ |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | Date date = new Date(); |
| | | log.error(date + ": 表名:erp_prdt :" + e); |
| | | log.error(date + ": 表名:PRDT :" + e); |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.zy.ints.task.scheduler; |
| | | |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.Tag; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.TagService; |
| | | import com.zy.ints.entity.Prdt; |
| | | import com.zy.ints.entity.PrdtBak; |
| | | import com.zy.ints.erp.ErpSqlServer; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * erp任务控制器 |
| | | * Created by vincent on 2020/11/27 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class ErpPrdtSchedulerNew { |
| | | |
| | | /** |
| | | * ERP接口是否启用 |
| | | */ |
| | | @Value("${erp.enabled}") |
| | | private Boolean erpEnabled; |
| | | @Value("${erp.enabledNew}") |
| | | private Boolean erpEnabledNew; |
| | | @Value("${erp.useName.ip}") |
| | | private String ip; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Autowired |
| | | private TagService tagService; |
| | | @Autowired |
| | | private ErpSqlServer erpSqlServer; |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | /** |
| | | * 获取商品信息表资料 |
| | | */ |
| | | @Scheduled(cron = "${erp.refreshtime}") |
| | | public void obtainPedt() { |
| | | if (!erpEnabledNew) return; |
| | | String sqlSelectPrdt = "select PRD_NO as prdNo,NAME as name,UT as ut,SPC as spc from PRDT where 1=1"; |
| | | String sqlUpDatePrdtOne = "update PRDT set STATUS=1 where PRD_NO="; |
| | | String sqlUpDatePrdtTwo = "update PRDT set STATUS=2 where PRD_NO="; |
| | | try { |
| | | Tag tag = tagService.selectByName("全部", 1); |
| | | |
| | | List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt, Prdt.class); |
| | | Date date = new Date(); |
| | | if (prdts.size() > 0) { |
| | | for (Prdt prdt : prdts) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (Cools.isEmpty(mat)) { |
| | | Mat matNew = new Mat(); |
| | | matNew.setTagId(tag.getId()); |
| | | matNew.setMatnr(prdt.getPrdNo()); |
| | | matNew.setMaktx(prdt.getName()); |
| | | matNew.setUnit(prdt.getUt()); |
| | | matNew.setSpecs(prdt.getSpc()); |
| | | matNew.setCreateBy(9999L);//9999表示erp下发 |
| | | matNew.setCreateTime(date); |
| | | matNew.setUpdateBy(9999L);//9999表示erp下发 |
| | | matNew.setUpdateTime(date); |
| | | if (matService.insert(matNew)) { |
| | | // erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true); |
| | | } else { |
| | | // erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false); |
| | | } |
| | | } else { |
| | | // erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false); |
| | | } |
| | | } |
| | | } |
| | | /*if (prdts.size() > 0) { |
| | | for (Prdt prdt : prdts) { |
| | | Date date = new Date(); |
| | | if (prdt.getStatus() == 0) { |
| | | Integer type = prdt.getType(); |
| | | if (type == 1) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (Cools.isEmpty(mat)) { |
| | | Mat matNew = new Mat(); |
| | | matNew.setTagId(tag.getId()); |
| | | matNew.setMatnr(prdt.getPrdNo()); |
| | | matNew.setMaktx(prdt.getName()); |
| | | matNew.setUnit(prdt.getUt()); |
| | | matNew.setSpecs(prdt.getSpc()); |
| | | matNew.setCreateBy(9999L);//9999表示erp下发 |
| | | matNew.setCreateTime(date); |
| | | matNew.setUpdateBy(9999L);//9999表示erp下发 |
| | | matNew.setUpdateTime(date); |
| | | if (matService.insert(matNew)) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false); |
| | | } |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false); |
| | | } |
| | | } else if (type == 2) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (!Cools.isEmpty(mat)) { |
| | | mat.setMaktx(prdt.getName()); |
| | | mat.setUnit(prdt.getUt()); |
| | | mat.setSpecs(prdt.getSpc()); |
| | | if (matService.updateById(mat)) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!修改商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false); |
| | | } |
| | | } |
| | | } else if (type == 3) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (!Cools.isEmpty(mat)) { |
| | | if (matService.deleteById(mat.getId())) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息失败!", false); |
| | | } |
| | | } |
| | | } else { |
| | | callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false); |
| | | } |
| | | } else if (prdt.getStatus() == 1) { |
| | | HashMap<String, Object> condition = new HashMap<>(); |
| | | condition.put("PRD_NO", "'" + prdt.getPrdNo() + "'"); |
| | | condition.put("NAME", "'" + prdt.getName() + "'"); |
| | | condition.put("UT", "'" + prdt.getUt() + "'"); |
| | | condition.put("SPC", "'" + prdt.getSpc() + "'"); |
| | | condition.put("TYPE", "'" + prdt.getType() + "'"); |
| | | condition.put("STATUS", "'" + prdt.getStatus() + "'"); |
| | | erpSqlServer.insert(PrdtBak.class, condition); |
| | | // callApiLogSave(prdt, "erp_prdt_bak", "ERP下发商品信息备份成功!", true); |
| | | |
| | | HashMap<String, String> condition2 = new HashMap<>(); |
| | | condition2.put("prd_no", "'" + prdt.getPrdNo() + "'"); |
| | | erpSqlServer.delete(Prdt.class, condition2); |
| | | // callApiLogSave(prdt, "erp_prdt", "ERP下发商品信息备份后删除成功!", true); |
| | | } else { |
| | | callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false); |
| | | } |
| | | }*/ |
| | | // } |
| | | } catch (Exception e) { |
| | | Date date = new Date(); |
| | | log.error(date + ": 表名:PRDT :" + e); |
| | | } |
| | | } |
| | | |
| | | public void callApiLogSave(Prdt prdt, String tableName, String response, Boolean bool) { |
| | | apiLogService.save("ERP下发商品信息", tableName, "null", ip, |
| | | "品号:" + prdt.getPrdNo() + "、品名:" + prdt.getName() + "、类型:" + prdt.getType() + "、状态:" + prdt.getStatus$(), |
| | | response, bool); |
| | | } |
| | | } |
| | |
| | | groupCount: 4 |
| | | #ERP接口 |
| | | erp: |
| | | enabled: true |
| | | enabled: false |
| | | enabledNew: true |
| | | # enabled: false |
| | | #查看ERP中间表间隔 |
| | | refreshtime: 0/5 * * * * ? |