diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/PrepaymentEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/PrepaymentEntity.java index f8e85b7f..20353b48 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/PrepaymentEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/PrepaymentEntity.java @@ -1,6 +1,8 @@ package com.hzya.frame.plugin.dgx.u9c.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import com.hzya.frame.web.entity.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; /** * @Description 德广信U9C预付单 @@ -10,7 +12,11 @@ import com.hzya.frame.web.entity.BaseEntity; public class PrepaymentEntity extends BaseEntity { //开始时间 查询用 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //结束时间 查询用 private String endTime; diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionDetailEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionDetailEntity.java index ec5b5174..3f81adb9 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionDetailEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionDetailEntity.java @@ -8,4 +8,196 @@ import com.hzya.frame.web.entity.BaseEntity; * @Date 2024/9/18 17:11 **/ public class RequisitionDetailEntity extends BaseEntity { + + //主表id + private String pr; + //行号 + private String docLineNo; + //需求分类 + private String demandCode; + //厂区编码 + private String factoryCode; + //厂区名字 + private String factoryName; + //项目id + private String projectId; + //项目编码 + private String projectCode; + //项目名字 + private String projectName; + //料品id + private String materialId; + //料品编码 + private String materialCode; + //料品名字 + private String materialName; + //规格型号 + private String specs; + //需求数量1 + private String reqQtyTU; + //库存单位 + private String storeUOM; + //备注 + private String memo; + //要求交货日期 + private String requiredDeliveryDate; + //来源单据号 + private String srcDocNo; + //库存可用量 + private String pRInvQty; + //状态 + private String status; + + public String getPr() { + return pr; + } + + public void setPr(String pr) { + this.pr = pr; + } + + public String getDocLineNo() { + return docLineNo; + } + + public void setDocLineNo(String docLineNo) { + this.docLineNo = docLineNo; + } + + public String getDemandCode() { + return demandCode; + } + + public void setDemandCode(String demandCode) { + this.demandCode = demandCode; + } + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public String getProjectCode() { + return projectCode; + } + + public void setProjectCode(String projectCode) { + this.projectCode = projectCode; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public String getMaterialId() { + return materialId; + } + + public void setMaterialId(String materialId) { + this.materialId = materialId; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getSpecs() { + return specs; + } + + public void setSpecs(String specs) { + this.specs = specs; + } + + public String getReqQtyTU() { + return reqQtyTU; + } + + public void setReqQtyTU(String reqQtyTU) { + this.reqQtyTU = reqQtyTU; + } + + public String getStoreUOM() { + return storeUOM; + } + + public void setStoreUOM(String storeUOM) { + this.storeUOM = storeUOM; + } + + public String getMemo() { + return memo; + } + + public void setMemo(String memo) { + this.memo = memo; + } + + public String getRequiredDeliveryDate() { + return requiredDeliveryDate; + } + + public void setRequiredDeliveryDate(String requiredDeliveryDate) { + this.requiredDeliveryDate = requiredDeliveryDate; + } + + public String getSrcDocNo() { + return srcDocNo; + } + + public void setSrcDocNo(String srcDocNo) { + this.srcDocNo = srcDocNo; + } + + public String getpRInvQty() { + return pRInvQty; + } + + public void setpRInvQty(String pRInvQty) { + this.pRInvQty = pRInvQty; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionDetailEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionDetailEntity.xml new file mode 100644 index 00000000..6bdd4ed6 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionDetailEntity.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, + pr, + docLineNo, + demandCode, + factoryCode, + factoryName, + projectId, + projectCode, + projectName, + materialId, + materialCode, + materialName, + specs, + reqQtyTU, + storeUOM, + memo, + requiredDeliveryDate, + srcDocNo, + pRInvQty, + status + + + + + + + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionEntity.java index 97f46fa9..8f74f07d 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionEntity.java @@ -1,6 +1,8 @@ package com.hzya.frame.plugin.dgx.u9c.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import com.hzya.frame.web.entity.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; /** * @Description 德广信U9C请购单 @@ -9,8 +11,46 @@ import com.hzya.frame.web.entity.BaseEntity; **/ public class RequisitionEntity extends BaseEntity { + //单号 + private String docNo; + //业务日期 + private String businessDate; + //单据类型id + private String pRDocTypeId; + //单据类型编码 + private String pRDocTypeCode; + //单据类型名字 + private String pRDocTypeName; + //需求人员id + private String reqEmployeeId; + //需求人员编码 + private String reqEmployeeCode; + //需求人员名称 + private String reqEmployeeName; + //需求部门id + private String reqDepartmentId; + //需求部门编码 + private String reqDepartmentCode; + //需求部门名字 + private String reqDepartmentName; + //来源类型code + private String sourceTypeCode; + //来源类型名字 + private String sourceTypeName; + //单据状态code + private String status; + //单据状态name + private String statusName; + //修改时间 + private String modifiedOn; + //创建时间 + private String createdOn; //开始时间 查询用 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //结束时间 查询用 private String endTime; @@ -30,4 +70,139 @@ public class RequisitionEntity extends BaseEntity { this.endTime = endTime; } + public String getDocNo() { + return docNo; + } + + public void setDocNo(String docNo) { + this.docNo = docNo; + } + + public String getBusinessDate() { + return businessDate; + } + + public void setBusinessDate(String businessDate) { + this.businessDate = businessDate; + } + + public String getpRDocTypeId() { + return pRDocTypeId; + } + + public void setpRDocTypeId(String pRDocTypeId) { + this.pRDocTypeId = pRDocTypeId; + } + + public String getpRDocTypeCode() { + return pRDocTypeCode; + } + + public void setpRDocTypeCode(String pRDocTypeCode) { + this.pRDocTypeCode = pRDocTypeCode; + } + + public String getpRDocTypeName() { + return pRDocTypeName; + } + + public void setpRDocTypeName(String pRDocTypeName) { + this.pRDocTypeName = pRDocTypeName; + } + + public String getReqEmployeeId() { + return reqEmployeeId; + } + + public void setReqEmployeeId(String reqEmployeeId) { + this.reqEmployeeId = reqEmployeeId; + } + + public String getReqEmployeeCode() { + return reqEmployeeCode; + } + + public void setReqEmployeeCode(String reqEmployeeCode) { + this.reqEmployeeCode = reqEmployeeCode; + } + + public String getReqEmployeeName() { + return reqEmployeeName; + } + + public void setReqEmployeeName(String reqEmployeeName) { + this.reqEmployeeName = reqEmployeeName; + } + + public String getReqDepartmentId() { + return reqDepartmentId; + } + + public void setReqDepartmentId(String reqDepartmentId) { + this.reqDepartmentId = reqDepartmentId; + } + + public String getReqDepartmentCode() { + return reqDepartmentCode; + } + + public void setReqDepartmentCode(String reqDepartmentCode) { + this.reqDepartmentCode = reqDepartmentCode; + } + + public String getReqDepartmentName() { + return reqDepartmentName; + } + + public void setReqDepartmentName(String reqDepartmentName) { + this.reqDepartmentName = reqDepartmentName; + } + + public String getSourceTypeCode() { + return sourceTypeCode; + } + + public void setSourceTypeCode(String sourceTypeCode) { + this.sourceTypeCode = sourceTypeCode; + } + + public String getSourceTypeName() { + return sourceTypeName; + } + + public void setSourceTypeName(String sourceTypeName) { + this.sourceTypeName = sourceTypeName; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + + public String getModifiedOn() { + return modifiedOn; + } + + public void setModifiedOn(String modifiedOn) { + this.modifiedOn = modifiedOn; + } + + public String getCreatedOn() { + return createdOn; + } + + public void setCreatedOn(String createdOn) { + this.createdOn = createdOn; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionEntity.xml new file mode 100644 index 00000000..3650719a --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/entity/RequisitionEntity.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + id, + docNo, + businessDate, + pRDocTypeId, + pRDocTypeCode, + pRDocTypeName, + reqEmployeeId, + reqEmployeeCode, + reqEmployeeName, + reqDepartmentId, + reqDepartmentCode, + reqDepartmentName, + sourceTypeCode, + sourceTypeName, + status, + statusName, + modifiedOn, + createdOn + + + + + + + + + update PR_PR set + + businessDate = #{businessDate}, + status = #{status}, + + where id = #{id} + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/PrepaymentPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/PrepaymentPluginInitializer.java index edf95241..2819192a 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/PrepaymentPluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/PrepaymentPluginInitializer.java @@ -62,7 +62,7 @@ public class PrepaymentPluginInitializer extends PluginBaseEntity { **/ @Override public String getPluginName() { - return "U9C预付单推到OA插件"; + return "德广信U9C预付单推到OA插件"; } /**** diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/RequisitionPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/RequisitionPluginInitializer.java index 8ab5f310..f65b24a0 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/RequisitionPluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/plugin/RequisitionPluginInitializer.java @@ -57,7 +57,7 @@ public class RequisitionPluginInitializer extends PluginBaseEntity { **/ @Override public String getPluginName() { - return "U9C预付单推到OA插件"; + return "德广信U9C请购单推送OA插件"; } /**** diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/IRequisitionService.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/IRequisitionService.java index 7f5d2cca..8795cf2e 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/IRequisitionService.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/IRequisitionService.java @@ -26,5 +26,5 @@ public interface IRequisitionService extends IBaseService queryDetails(RequisitionDetailEntity entity) { - return null; + List list = requisitionDetailDao.queryList(entity, "com.hzya.frame.plugin.dgx.u9c.dao.impl.RequisitionDetailDaoImpl.entity_list_base"); + return list; } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/impl/RequisitionServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/impl/RequisitionServiceImpl.java index 06103cef..48a40875 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/impl/RequisitionServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/dgx/u9c/service/impl/RequisitionServiceImpl.java @@ -34,7 +34,8 @@ public class RequisitionServiceImpl extends BaseService queryList(RequisitionEntity entity) { - return null; + List list = requisitionDao.queryList(entity, "com.hzya.frame.plugin.dgx.u9c.dao.impl.RequisitionDaoImpl.entity_list_base"); + return list; } /** @@ -45,7 +46,7 @@ public class RequisitionServiceImpl extends BaseService requisitionDetailList = requisitionDetailServiceImpl.queryDetails(requisitionDetail); if (CollectionUtils.isNotEmpty(requisitionDetailList)){ //主表 JSONObject formmain_0652 = new JSONObject(); //单据类型 - formmain_0652.put("field0001",""); + formmain_0652.put("field0001",requisition.getpRDocTypeName()); //发起人 formmain_0652.put("field0002",""); //发起部门 formmain_0652.put("field0003",""); //发起时间 - formmain_0652.put("field0004",""); + formmain_0652.put("field0004",DateUtil.now()); //需求人员 - formmain_0652.put("field0005",""); + formmain_0652.put("field0005",requisition.getReqEmployeeName()); //来源类型 - formmain_0652.put("field0006",""); + formmain_0652.put("field0006",requisition.getSourceTypeName()); //单号 - formmain_0652.put("field0007",""); + formmain_0652.put("field0007",requisition.getDocNo()); //需求部门 - formmain_0652.put("field0008",""); + formmain_0652.put("field0008",requisition.getReqDepartmentName()); //来源单号 - formmain_0652.put("field0009",""); + formmain_0652.put("field0009",requisitionDetailList.get(0).getSrcDocNo()); //日期 - formmain_0652.put("field0010",""); + formmain_0652.put("field0010",requisition.getBusinessDate()); //项目 - formmain_0652.put("field0011",""); + formmain_0652.put("field0011",requisitionDetailList.get(0).getProjectName()); //厂区 - formmain_0652.put("field0012",""); + formmain_0652.put("field0012",requisitionDetailList.get(0).getFactoryName()); //状态 - formmain_0652.put("field0013",""); + formmain_0652.put("field0013",requisition.getStatusName()); //请购数量合计 formmain_0652.put("field0030",""); //子表 @@ -305,33 +314,33 @@ public class U9CPluginServiceImpl implements IU9CPluginService { for (RequisitionDetailEntity detail : requisitionDetailList) { JSONObject formson_0653 = new JSONObject(); //行号 - formson_0653.put("field0014",""); + formson_0653.put("field0014",detail.getDocLineNo()); //需求分类 - formson_0653.put("field0015",""); + formson_0653.put("field0015",detail.getDemandCode()); //厂区明细 - formson_0653.put("field0016",""); + formson_0653.put("field0016",detail.getFactoryName()); //项目明细 - formson_0653.put("field0017",""); + formson_0653.put("field0017",detail.getProjectName()); //料号 - formson_0653.put("field0018",""); + formson_0653.put("field0018",detail.getMaterialCode()); //品名 - formson_0653.put("field0021",""); + formson_0653.put("field0021",detail.getMaterialName()); //规格 - formson_0653.put("field0022",""); + formson_0653.put("field0022",detail.getSpecs()); //请购数量 - formson_0653.put("field0023",""); + formson_0653.put("field0023",detail.getReqQtyTU()); //单位 - formson_0653.put("field0024",""); + formson_0653.put("field0024",detail.getStoreUOM()); //单据备注 - formson_0653.put("field0025",""); + formson_0653.put("field0025",detail.getMemo()); //需求交货日期 - formson_0653.put("field0026",""); + formson_0653.put("field0026",detail.getRequiredDeliveryDate()); //来源单号明细 - formson_0653.put("field0027",""); + formson_0653.put("field0027",detail.getSrcDocNo()); //库存可用量 - formson_0653.put("field0028",""); + formson_0653.put("field0028",detail.getpRInvQty()); //状态明细 - formson_0653.put("field0029",""); + formson_0653.put("field0029",detail.getStatus()); formsonList.add(formson_0653); } JSONObject formData = new JSONObject(); @@ -344,18 +353,75 @@ public class U9CPluginServiceImpl implements IU9CPluginService { JSONObject param = new JSONObject(); param.put("appName","collaboration"); param.put("data",data); - String s = invokeEsb(param, "800045", "8000450002"); + String paramStr = param.toString(); + logger.info("u9c请购单发起OA流程请求参数:{}",paramStr); + String res = null; + Boolean flag = false; + try { + res = invokeEsb(param, "800045", "8000450002"); + JSONObject jsonObject = JSONObject.parseObject(res); + flag = jsonObject.getBoolean("flag"); + }catch (Exception e){ + logger.error("调用oa接口出错:{}",e); + res = e.getMessage(); + } + //保存日志 + IntegrationTaskLivingDetailsEntity taskLivingDetail = new IntegrationTaskLivingDetailsEntity(); + taskLivingDetail.setCreate_time(new Date()); + taskLivingDetail.setModify_time(new Date()); + taskLivingDetail.setRootAppPk(requisition.getId()); + taskLivingDetail.setRootAppBill(requisition.getDocNo()); + taskLivingDetail.setPluginId("U9CPrepaymentPlugin"); + taskLivingDetail.setRootAppNewData(paramStr); + taskLivingDetail.setNewTransmitInfo(res); + taskLivingDetail.setNewPushDate(new Date()); + saveLog(taskId,flag,taskLivingDetail); + logger.info("u9c请购单发起OA流程返回结果:{}",res); } } } return BaseResult.getSuccessMessageEntity("德广信U9C请购单推送OA插件执行成功"); } + + /** + * 保存日志 + * + * @param integration_task_living_details_id 日志表id + * @param flag 成功失败 + * @param taskLivingDetail 日志表对象 + */ + @Override + public void saveLog(String integration_task_living_details_id, Boolean flag, IntegrationTaskLivingDetailsEntity taskLivingDetail) { + try { + //判断,成功调用这个方法 + if (StrUtil.isEmpty(integration_task_living_details_id)){ + if (flag){ + taskLivingDetailsService.saveLogToSuccess(taskLivingDetail); + }else { + //失败 调用这个方法 + taskLivingDetailsService.saveLogToFail(taskLivingDetail); + } + }else { + taskLivingDetail.setId(integration_task_living_details_id); + if (flag){ + //如果是重试 成功调这个方法 + taskLivingDetailsService.saveLogFailToSuccess(taskLivingDetail); + }else { + //如果是重试 失败调这个方法 + taskLivingDetailsService.updateLogFailToSuccess(taskLivingDetail); + } + } + }catch (Exception e){ + logger.error("保存日志出错:{}",e); + } + } + //调用注册好的esb接口 private String invokeEsb(JSONObject jsonObject,String appId,String apiCode){ String param = jsonObject.toString(); logger.info("调用:{},请求参数:{}",apiCode,param); - String result = HttpRequest.post("") + String result = HttpRequest.post(url) .header("appId",appId)//目标应用 .header("apiCode",apiCode)//目标api .header("publicKey","ZJYAh1QkjBK/pIrl8+vYvw190Jg/Oh84xuvDYe8sPbEtO65Ce7eDIk+3zDUT+v578prj")//调用方key diff --git a/base-buildpackage/src/main/resources/application-xel.yml b/base-buildpackage/src/main/resources/application-xel.yml index e53ca4c4..468c67b5 100644 --- a/base-buildpackage/src/main/resources/application-xel.yml +++ b/base-buildpackage/src/main/resources/application-xel.yml @@ -19,6 +19,8 @@ spring: savefile: # 文件保存路径 path: /Users/xiangerlin/work/app/file/dev + tomcatpath: /Users/xiangerlin/work/app/file/dev + pluginpath: /Users/xiangerlin/work/app/file/dev cbs8: appId: 1P4AGrpz appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/dgx/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/dgx/spring/spring-buildpackage-plugin.xml index a37442c3..b5966ee4 100644 --- a/base-buildpackage/src/main/resources/cfgHome/plugin/dgx/spring/spring-buildpackage-plugin.xml +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/dgx/spring/spring-buildpackage-plugin.xml @@ -3,5 +3,4 @@ -