瀏覽代碼

列表审核

liuchaohui 2 年之前
父節點
當前提交
90ed625163

+ 58 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/controller/SyCostAllocationController.java

@@ -15,11 +15,13 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.cost.entity.*;
 import org.jeecg.modules.cost.service.*;
 import org.jeecg.modules.cost.vo.SyCostAllocationPage;
 import org.jeecg.modules.report.entity.FabricLoss;
+import org.jeecg.modules.report.entity.SyFabricLossReport;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -62,6 +64,8 @@ public class SyCostAllocationController {
     private ISyCostAllocationIngredientService syCostAllocationIngredientService;
     @Autowired
     private ISyCostAllocationShipdetailService syCostAllocationShipdetailService;
+    @Autowired
+    private ISyCostJsonService syCostJsonService;
 
     /**
      * 分页列表查询
@@ -416,4 +420,58 @@ public class SyCostAllocationController {
         return Result.OK("文件导入失败!");
     }
 
+    /**
+     *
+     * @param params
+     *  ccode - 计划号
+     *  actionUser - 执行人
+     *  actionTime - 执行时间
+     *  action - 执行内容:提交,面损表初审,面损表终审,面损表初审驳回,面损表终审驳回
+     * @return
+     */
+    @AutoLog(value = "成本-流程回调")
+    @ApiOperation(value="成本-流程回调", notes="成本-流程回调")
+    @PostMapping(value = "/applyCallback")
+    public Result<?> applyCallback(@RequestBody Map<String,Object> params) {
+        Result<String> result = new Result<>();
+        try {
+            String ccode = oConvertUtils.getString(params.get("ccode"));
+            String actionUser = oConvertUtils.getString(params.get("actionUser"));
+            String actionTime = oConvertUtils.getString(params.get("actionTime"));
+            String action = oConvertUtils.getString(params.get("action"));
+            Date dtActionTime = DateUtils.str2Date(actionTime, DateUtils.datetimeFormat.get());
+
+            System.out.println("面损表流程回调参数:" + ccode + "," + actionUser + "," + actionTime + "," + action);
+
+            QueryWrapper<SyCostJson> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("plan_code", ccode);
+            List<SyCostJson> syCostJsons = syCostJsonService.list(queryWrapper);
+            if (syCostJsons.size()>0){
+                SyCostJson syCostJson = syCostJsons.get(0);
+                if ("提交".equalsIgnoreCase(action)){
+                    syCostJson.setSubmitBy(actionUser);
+                    syCostJson.setSubmitDate(dtActionTime);
+                    syCostJson.setStatus(action);
+                    syCostJsonService.updateById(syCostJson);
+                }else if ("成本初审".equalsIgnoreCase(action)){
+                    syCostJson.setFirstApproveBy(actionUser);
+                    syCostJson.setFirstApproveDate(dtActionTime);
+                    syCostJson.setStatus("完成");
+                    syCostJsonService.updateById(syCostJson);
+                }else if (("成本初审驳回".equalsIgnoreCase(action)) &&
+                        oConvertUtils.isEmpty(syCostJson.getRejectBy())){
+                    syCostJson.setRejectBy(actionUser);
+                    syCostJson.setRejectDate(dtActionTime);
+                    syCostJson.setStatus("返单");
+                    syCostJsonService.updateById(syCostJson);
+                }
+            }
+            result.success("");
+        }catch (Exception ex){
+            ex.printStackTrace();
+            result.error500(ex.getMessage());
+        }
+        return result;
+    }
+
 }

+ 55 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/entity/SyCostJson.java

@@ -6,14 +6,18 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
 import org.jeewx.api.wxuser.Test;
+import org.springframework.format.annotation.DateTimeFormat;
 import springfox.documentation.spring.web.json.Json;
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: 成本分配存储json
@@ -36,4 +40,55 @@ public class SyCostJson implements Serializable {
     @TableField(typeHandler = FastjsonTypeHandler.class)
     private JSONObject costInfo;
 
+    /**创建时间*/
+    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @Excel(name = "交单人", width = 15)
+    @ApiModelProperty(value = "交单人")
+    private String submitBy;
+
+    @Excel(name = "交单日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "交单日期")
+    private Date submitDate;
+
+    @Excel(name = "初审通过人", width = 15)
+    @ApiModelProperty(value = "初审通过人")
+    private String firstApproveBy;
+
+    @Excel(name = "初审通过日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "初审通过日期")
+    private Date firstApproveDate;
+
+    @Excel(name = "返单人", width = 15)
+    @ApiModelProperty(value = "初审通过人")
+    private String rejectBy;
+
+    @Excel(name = "返单日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "返单日期")
+    private Date rejectDate;
+
+    @Excel(name = "终审通过人", width = 15)
+    @ApiModelProperty(value = "终审通过人")
+    private String finalApproveBy;
+
+    @Excel(name = "终审通过日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "终审通过日期")
+    private Date finalApproveDate;
+
+    @Excel(name = "状态", width = 15)
+    @ApiModelProperty(value = "状态")
+    private String status;
+
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/entity/CostAllocationReview.java

@@ -18,7 +18,7 @@ public class CostAllocationReview {
     @ApiModelProperty(value = "计划单号")
     private String planNum;
     //保存日期
-    private String addDate;
+    private String createTime;
     //审批日期
     private String approvalDate;
     //审批人

+ 9 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/entity/FabricLossReview.java

@@ -41,4 +41,13 @@ public class FabricLossReview {
 
     private String status;
 
+    //保存日期
+    private String createTimeB;
+    //保存日期
+    private String createTimeE;
+    //审批日期
+    private String approvalDateB;
+    //审批日期
+    private String approvalDateE;
+
 }

+ 18 - 18
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/xml/SyCostLossReviewMapper.xml

@@ -131,42 +131,42 @@
         from sy_fabric_loss_report
         where 1=1
         <if test="sy.createTime != null and sy.createTime !=''">
-            AND date_format( create_time, '%Y-%m-%d' )= date_format(#{sy.createTime},'%Y-%m-%d');
+            AND date_format( create_time, '%Y-%m-%d' ) between date_format(#{sy.createTimeB},'%Y-%m-%d') and date_format(#{sy.createTimeE},'%Y-%m-%d')
         </if>
         <if test="sy.approvalMan != null and sy.approvalMan !=''">
-            AND first_approve_by = #{sy.approvalMan}
+            AND first_approve_by LIKE CONCAT('%',#{sy.approvalMan},'%')
         </if>
         <if test="sy.approvalDate != null and sy.approvalDate !=''">
-            AND first_approve_date = #{sy.approvalDate}
+            AND first_approve_date between #{sy.approvalDateB} and #{sy.approvalDateE}
         </if>
         <if test="sy.cCode != null and sy.cCode !=''">
-            AND plan_code = #{sy.cCode}
+            AND plan_code LIKE CONCAT('%',#{sy.cCode},'%')
         </if>
         <if test="sy.cDefine22 != null and sy.cDefine22 !=''">
-            AND JSON_EXTRACT( content, '$.cDefine22' ) = #{sy.cDefine22}
+            AND JSON_EXTRACT( content, '$.cDefine22' ) LIKE CONCAT('%',#{sy.cDefine22},'%')
         </if>
         <if test="sy.planner != null and sy.planner !=''">
-            AND JSON_EXTRACT( content, '$.planner' ) = #{sy.planner}
+            AND JSON_EXTRACT( content, '$.planner' ) LIKE CONCAT('%',#{sy.planner},'%')
         </if>
         <if test="sy.number != null and sy.number !=''">
             AND JSON_EXTRACT( content, '$.number' ) = #{sy.number}
         </if>
         <if test="sy.contractNo != null and sy.contractNo !=''">
-            AND JSON_EXTRACT( content, '$.contractNo' ) = #{sy.contractNo}
+            AND JSON_EXTRACT( content, '$.contractNo' ) LIKE CONCAT('%',#{sy.contractNo},'%')
         </if>
         <if test="sy.cPersonName != null and sy.cPersonName !=''">
-            AND JSON_EXTRACT( content, '$.cPersonName' ) = #{sy.cPersonName}
+            AND JSON_EXTRACT( content, '$.cPersonName' ) LIKE CONCAT('%',#{sy.cPersonName},'%')
         </if>
         <if test="sy.outboundNumber != null and sy.outboundNumber !=''">
             AND JSON_EXTRACT( content, '$.outboundNumber') = #{sy.outboundNumber}
         </if>
         <if test="sy.makingPeople != null and sy.makingPeople !=''">
-            AND JSON_EXTRACT( content, '$.makingPeople' ) = #{sy.makingPeople}
+            AND JSON_EXTRACT( content, '$.makingPeople' ) LIKE CONCAT('%',#{sy.makingPeople},'%')
         </if>
     </select>
 
     <select id="queryCostAllocation" resultType="org.jeecg.modules.documents.costLossReview.entity.CostAllocationReview">
-        select plan_num as planNum,first_approve_date as approvalDate,first_approve_by as approvalMan,add_date as addDate,
+        select plan_num as planNum,first_approve_date as approvalDate,first_approve_by as approvalMan,create_time as createTime,
         cost_info ->> '$.poStyleNum'  AS poStyleNum,
         cost_info ->> '$.exportSales'  AS exportSales,
         cost_info ->> '$.garmentContractno'  AS garmentContractno,
@@ -182,26 +182,26 @@
         cost_info ->> '$.preparedBy'  AS preparedBy
         from sy_cost_json
         where 1=1
-        <if test="sy.addDate != null and sy.addDate !=''">
-            AND date_format( add_date, '%Y-%m-%d' )= date_format(#{sy.addDate},'%Y-%m-%d');
+        <if test="sy.createTime != null and sy.createTime !=''">
+            AND date_format( create_time, '%Y-%m-%d' )= date_format(#{sy.createTime},'%Y-%m-%d');
         </if>
         <if test="sy.approvalMan != null and sy.approvalMan !=''">
-            AND first_approve_by = #{sy.approvalMan}
+            AND first_approve_by LIKE CONCAT('%',#{sy.approvalMan},'%')
         </if>
         <if test="sy.approvalDate != null and sy.approvalDate !=''">
-            AND first_approve_date = #{sy.approvalDate}
+            AND first_approve_date LIKE CONCAT('%',#{sy.approvalDate},'%')
         </if>
         <if test="sy.planNum != null and sy.planNum !=''">
-            AND plan_num = #{sy.planNum}
+            AND plan_num LIKE CONCAT('%',#{sy.planNum},'%')
         </if>
         <if test="sy.poStyleNum != null and sy.poStyleNum !=''">
             AND JSON_EXTRACT( cost_info, '$.poStyleNum' ) = #{sy.poStyleNum}
         </if>
         <if test="sy.exportSales != null and sy.exportSales !=''">
-            AND JSON_EXTRACT( cost_info, '$.exportSales' ) = #{sy.exportSales}
+            AND JSON_EXTRACT( cost_info, '$.exportSales' ) LIKE CONCAT('%',#{sy.exportSales},'%')
         </if>
         <if test="sy.garmentContractno != null and sy.garmentContractno !=''">
-            AND JSON_EXTRACT( cost_info, '$.garmentContractno' ) = #{sy.garmentContractno}
+            AND JSON_EXTRACT( cost_info, '$.garmentContractno' ) LIKE CONCAT('%',#{sy.garmentContractno},'%')
         </if>
         <if test="sy.department != null and sy.department !=''">
             AND JSON_EXTRACT( cost_info, '$.department' ) = #{sy.department}
@@ -232,7 +232,7 @@
             AND JSON_EXTRACT( cost_info, '$.fabricshortcost' ) = #{sy.fabricshortcost}
         </if>
         <if test="sy.preparedBy != null and sy.preparedBy !=''">
-            AND JSON_EXTRACT( cost_info, '$.preparedBy' ) = #{sy.preparedBy}
+            AND JSON_EXTRACT( cost_info, '$.preparedBy' ) LIKE CONCAT('%',#{sy.preparedBy},'%')
         </if>