Browse Source

导出项目列表调整
通过物料列表对单挑物料调整,更改状态,所有物料调整完成后更改项目状态
导入原因类型,对于物料状态更改
调整:监控出库不一致---监控出库及审定不一致
导入原因类型新增记录审定数量
监控出库数量调整监控出库及审定数量

yue 5 years ago
parent
commit
6c6b06d1c4

+ 25 - 7
src/main/java/com/jeeplus/modules/sg/information/utils/ImportInformation.java

@@ -117,17 +117,22 @@ public  class ImportInformation {
                     if (status.size() > 0) {
                         for (Material list : status) {
                             double afterNumber = list.getAfterNumber();
+                            double afterAuthor = list.getAfterAuthor();
                             double testOutBoundNumber = Double.parseDouble(outboundNumber.toString());
-                            if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) &&  afterNumber == testOutBoundNumber) {
+                            double testafterAuthor = Double.parseDouble(authorizedNumber.toString());
+                            if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) &&  afterNumber == testOutBoundNumber && afterAuthor==testafterAuthor) {
                                 material.setIsBack(list.getIsBack());
                                 material.setIsBackNo(list.getIsBackNo());
                                 material.setStatus(list.getStatus());
                                 material.setInfo(list.getInfo());
-                                material.setAfterNumber(list.getAfterNumber());
+                                material.setAfterNumber(afterNumber);
+                                material.setAfterAuthor(afterAuthor);
                                 break;
-                            } else if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) && afterNumber!=testOutBoundNumber) {
+                            } else if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) && (afterNumber!=testOutBoundNumber||afterAuthor!=testafterAuthor)) {
                                 material.setIsBack("否");
                                 material.setIsBackNo(1);
+                                material.setAfterNumber(afterNumber);
+                                material.setAfterAuthor(afterAuthor);
                                 break;
                             } else {
                                 material.setIsBack(isBack);
@@ -162,17 +167,22 @@ public  class ImportInformation {
                     if (status.size() > 0) {
                         for (Material list : status) {
                             double afterNumber = list.getAfterNumber();
+                            double afterAuthor = list.getAfterAuthor();
                             double testOutBoundNumber = Double.parseDouble(outboundNumber.toString());
-                            if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) &&  afterNumber == testOutBoundNumber) {
+                            double testafterAuthor = Double.parseDouble(authorizedNumber.toString());
+                            if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) &&  afterNumber == testOutBoundNumber && afterAuthor==testafterAuthor) {
                                 material.setIsBack(list.getIsBack());
                                 material.setIsBackNo(list.getIsBackNo());
                                 material.setStatus(list.getStatus());
                                 material.setInfo(list.getInfo());
-                                material.setAfterNumber(list.getAfterNumber());
+                                material.setAfterNumber(afterNumber);
+                                material.setAfterAuthor(afterAuthor);
                                 break;
-                            } else if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) && afterNumber!=testOutBoundNumber) {
+                            } else if (list.getProjectId().equals(projectId.toString()) && list.getInforId().equals(inforId.toString()) && (afterNumber!=testOutBoundNumber||afterAuthor!=testafterAuthor)) {
                                 material.setIsBack("否");
                                 material.setIsBackNo(1);
+                                material.setAfterNumber(afterNumber);
+                                material.setAfterAuthor(afterAuthor);
                                 break;
                             } else {
                                 material.setIsBack(isBack);
@@ -375,6 +385,8 @@ public  class ImportInformation {
                 Row row = ei.getRow(i);
                 //项目定义号
                 Object projectId = ei.getCellValue(row, 0);
+                //审定数量
+                Object authorizedNumber = ei.getCellValue(row, 7);
                 //出库数量
                 Object outboundNumber = ei.getCellValue(row, 6);
                 //物料编号
@@ -386,7 +398,7 @@ public  class ImportInformation {
                 //根据项目定义号,物料定义号查询出该条的物料信息
                 Material myProIn = materialService.findByProIn(projectId.toString(), inforId.toString());
                 //如果出库数量与记录的出库数量不一致,不与插入
-                if (!myProIn.getOutboundNumber().equals(Double.parseDouble(outboundNumber.toString()))) {
+                if (!myProIn.getOutboundNumber().equals(Double.parseDouble(outboundNumber.toString())) || !myProIn.getAuthorizedNumber().equals(Double.parseDouble(authorizedNumber.toString()))) {
                     error.add(projectId.toString());
                     continue;
                 }
@@ -405,8 +417,11 @@ public  class ImportInformation {
                     }
                     material.setInfo(infoW);
                     material.setIsBackNo(0);
+                    material.setIsBack("是");
                     Double outboundNumber1 = myProIn.getOutboundNumber();
                     material.setAfterNumber(outboundNumber1);
+                    Double authorizedNumber1 = myProIn.getAuthorizedNumber();
+                    material.setAfterAuthor(authorizedNumber1);
                     noChange.add(material);
                 } else {
                     material.setProjectId(projectId.toString());
@@ -418,9 +433,12 @@ public  class ImportInformation {
                          infoW = info.toString();
                     }
                     material.setInfo(infoW);
+                    material.setIsBack("是");
                     material.setIsBackNo(0);
                     Double outboundNumber1 = myProIn.getOutboundNumber();
                     material.setAfterNumber(outboundNumber1);
+                    Double authorizedNumber1 = myProIn.getAuthorizedNumber();
+                    material.setAfterAuthor(authorizedNumber1);
                     materialList.add(material);
                 }
 

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/information/web/InformationController.java

@@ -359,7 +359,7 @@ public class InformationController extends BaseController {
                 }
                 ArrayList error = (ArrayList) importInTrial.get("error");
                 if (error.size() > 0) {
-                    errorMsg.append("以下项目定义号因出库不一致未导入");
+                    errorMsg.append("以下项目定义号因出库数量或审定数量不一致未导入");
                     for (int i = 0; i < error.size(); i++) {
                         errorMsg.append("\r\n");
                         errorMsg.append(error.get(i));

+ 11 - 1
src/main/java/com/jeeplus/modules/sg/material/entity/Material.java

@@ -50,8 +50,18 @@ public class Material extends DataEntity<Material>  {
     private String info;
     //判断是否完成领退料
     private int isBackNo;
-
+    //用于记录修改原因后的出库数量,便于下次比对
     private Double afterNumber;
+    //用于记录修改原因后的审定数量,便于下次比对
+    private Double afterAuthor;
+
+    public Double getAfterAuthor() {
+        return afterAuthor;
+    }
+
+    public void setAfterAuthor(Double afterAuthor) {
+        this.afterAuthor = afterAuthor;
+    }
 
     public Double getAfterNumber() {
         return afterNumber;

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/material/mapper/MaterialMapper.java

@@ -49,4 +49,6 @@ public interface MaterialMapper extends BaseMapper<Material> {
 
     String findNeedBack(String id);
 
+    Material idFormId(Material material);
+
 }

+ 13 - 4
src/main/java/com/jeeplus/modules/sg/material/mapper/xml/MaterialMapper.xml

@@ -32,7 +32,7 @@
     </select>
 
     <update id="updateInfo" parameterType="com.jeeplus.modules.sg.material.entity.Material">
-		update material_information set status = #{status},info = #{info},isback = "是" where id = #{id};
+		update material_information set status = #{status},info = #{info},isback = "是",isBackNo=0,afterNumber=#{afterNumber},afterAuthor=#{afterAuthor} where id = #{id};
 	</update>
     <select id="findList" resultType="Material">
         SELECT
@@ -108,7 +108,8 @@
         update_by,
         update_date,
         del_flag,
-        afterNumber
+        afterNumber,
+        afterAuthor
         ) VALUES
         <foreach collection="list" item="material" index="index" separator=",">
             (
@@ -135,7 +136,8 @@
             #{material.updateBy.id},
             #{material.updateDate},
             #{material.delFlag},
-            #{material.afterNumber}
+            #{material.afterNumber},
+            #{material.afterAuthor}
             )
         </foreach>
     </insert>
@@ -269,7 +271,10 @@
                     info=#{item.info},
                 </if>
                 <if test="item.afterNumber!=null">
-                    afterNumber=#{item.afterNumber}
+                    afterNumber=#{item.afterNumber},
+                </if>
+                <if test="item.afterAuthor!=null">
+                    afterAuthor=#{item.afterAuthor},
                 </if>
             </trim>
             where project_id=#{item.projectId} and infor_id=#{item.inforId}
@@ -320,4 +325,8 @@
     <select id="findNeedBack" resultType="string">
         select isBack from material_information where id = #{id};
     </select>
+
+    <select id="idFormId" resultType="com.jeeplus.modules.sg.material.entity.Material">
+        select * from material_information where id =#{id};
+    </select>
 </mapper>

+ 4 - 0
src/main/java/com/jeeplus/modules/sg/material/service/MaterialService.java

@@ -83,6 +83,10 @@ public class MaterialService extends CrudService<MaterialMapper, Material> {
 		return materialMapper.findNeedInfor(information);
 	}
 
+	public Material idFormId(Material material) {
+		return materialMapper.idFormId(material);
+	}
+
 	@Transactional(readOnly = false)
 	public void updateNeed(Information information) {
 		materialMapper.updateNeed(information);

+ 22 - 0
src/main/java/com/jeeplus/modules/sg/material/web/MaterialController.java

@@ -3,6 +3,7 @@
  */
 package com.jeeplus.modules.sg.material.web;
 
+import java.util.Date;
 import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
@@ -12,6 +13,7 @@ import com.jeeplus.common.json.AjaxJson;
 import com.jeeplus.common.utils.DateUtils;
 import com.jeeplus.common.utils.excel.ExportExcel;
 //import com.jeeplus.modules.sg.information.entity.Information;
+import com.jeeplus.modules.sg.information.entity.Information;
 import com.jeeplus.modules.sg.material.entity.Material;
 import com.jeeplus.modules.sg.material.service.MaterialService;
 //import org.apache.shiro.authz.annotation.Logical;
@@ -85,7 +87,27 @@ public class MaterialController extends BaseController {
 	@RequestMapping(value = "update")
 	@ResponseBody
 	public String updateInfo(Material material) {
+
+		Material s = materialService.idFormId(material);
+		material.setAfterNumber(s.getOutboundNumber());
+		material.setAfterAuthor(s.getAuthorizedNumber());
 		Integer count = materialService.updateInfo(material);
+		Material needMaterial = new Material();
+		Information upInfor = new Information();
+		needMaterial.setProjectId(s.getProjectId().toString());
+		Information needInfor = materialService.findNeedInfor(needMaterial);
+		if (needInfor != null) {
+			if (needInfor.getFirstFinish() == "" || needInfor.getFirstFinish() == null || needInfor.getFirstFinish().equals("否")) {
+				upInfor.setProjectId(needInfor.getProjectId());
+				upInfor.setFirstFinish("是");
+				upInfor.setFirstFinishDate(new Date());
+			} else  {
+				upInfor.setProjectId(needInfor.getProjectId());
+				upInfor.setSecondFinish("是");
+				upInfor.setSecondFinishDate(new Date());
+			}
+			materialService.updateNeed(upInfor);
+		}
 		if (count > 0 ) {
 			return "修改成功";
 		} else {