inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java
@@ -54,11 +54,11 @@ return Result.success(standardTemplateService.getStandardTemplate()); } @ApiOperation(value = "通过模板id和项目名称获取检验项模板内容") @PostMapping("/getStandTempThingByTIdAndPName") @ApiOperation(value = "通过模板id获取检验项模板内容") @PostMapping("/getStandTempThingById") @ValueAuth public Result<?> getStandTempThingByTIdAndPName(Integer templateId, String inspectionItem, String inspectionItemSubclass) { return Result.success(standardTemplateService.getStandTempThingByTIdAndPName(templateId, inspectionItem, inspectionItemSubclass)); public Result<?> getStandTempThingById(Integer id) { return Result.success(standardTemplateService.getStandTempThingById(id)); } } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -164,4 +164,8 @@ */ private String sample; @ApiModelProperty("检验时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime insTime; } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
@@ -1,11 +1,14 @@ package com.yuanchu.mom.pojo; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.*; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; @@ -179,4 +182,10 @@ * 外键:standard_template表id */ private Integer templateId; @TableField(exist = false) private List<JSONObject> template; @TableField(exist = false) private Map<String, Object> style; } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
@@ -90,24 +90,11 @@ private Integer insState; /** * 下发时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime sendTime; /** * 备注 */ private String remark; private Integer standardMethodListId; /** * 约定时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate appointed; @ApiModelProperty("样品单位") private String unit; inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java
@@ -24,6 +24,6 @@ List<StandardTemplate> getStandardTemplate(); String getStandTempThingByTIdAndPName(Integer templateId, String inspectionItem, String inspectionItemSubclass); String getStandTempThingById(Integer templateId); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -1,27 +1,34 @@ package com.yuanchu.mom.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.dto.InsOrderPlanDTO; import com.yuanchu.mom.dto.SampleProductDto; import com.yuanchu.mom.mapper.InsOrderMapper; import com.yuanchu.mom.mapper.InsSampleMapper; import com.yuanchu.mom.mapper.InsSampleUserMapper; import com.yuanchu.mom.pojo.InsOrder; import com.yuanchu.mom.pojo.InsProduct; import com.yuanchu.mom.pojo.InsSampleUser; import com.yuanchu.mom.service.InsOrderPlanService; import com.yuanchu.mom.service.InsOrderService; import com.yuanchu.mom.service.StandardTemplateService; import com.yuanchu.mom.utils.QueryWrappers; import com.yuanchu.mom.vo.InsOrderPlanVO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.time.LocalDateTime; import java.util.*; /** * 检验任务-业务实现层 @@ -39,6 +46,8 @@ private InsOrderMapper insOrderMapper; private InsOrderService insOrderService; private StandardTemplateService standardTemplateService; @Override public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) { @@ -70,7 +79,58 @@ InsOrder insOrder = new InsOrder(); insOrder.setId(id); insOrder.setInsState(1); insOrderMapper.updateById(insOrder); return insOrderService.getInsOrder(id); InsOrder order = insOrderMapper.selectById(id); if(BeanUtil.isEmpty(order.getInsTime())){ insOrder.setInsTime(LocalDateTime.now()); insOrderMapper.updateById(insOrder); } Map<String, Object> map = insOrderService.getInsOrder(id); Set<Integer> set = new HashSet<>(); Map<Integer, String> map2 = new HashMap<>(); List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class); for (SampleProductDto samples : list) { for (InsProduct product : samples.getInsProduct()) { if(set.add(product.getTemplateId())){ map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + ""); } String thing = map2.get(product.getTemplateId()); if (StrUtil.isNotEmpty(thing)){ JSONObject sheet = JSON.parseObject(JSON.toJSONString(JSON.parseArray(JSON.toJSONString(JSON.parseObject(thing).get("data"))).get(0))); JSONObject config = JSON.parseObject(JSON.toJSONString(sheet.get("config"))); List<JSONObject> cellData = JSON.parseArray(JSON.toJSONString(sheet.get("celldata")), JSONObject.class); List<JSONObject> tableData = new ArrayList<>(); Map<String, Object> style = new HashMap<>(); // style.put("borderInfo", config.get("borderInfo")); style.put("rowlen", config.get("rowlen")); style.put("columnlen", config.get("columnlen")); int r = -1; if (BeanUtil.isNotEmpty(cellData)){ for (JSONObject o : cellData) { JSONObject v = JSON.parseObject(JSON.toJSONString(o.get("v"))); if(BeanUtil.isNotEmpty(v.get("ps"))){ JSONObject ps = JSON.parseObject(JSON.toJSONString(v.get("ps"))); if (ps.get("value").equals("检验项") && v.get("v").equals(product.getInspectionItem())){ tableData.add(o); r = Integer.parseInt(o.get("r")+""); continue; } } if(tableData.size()>0){ if(Integer.parseInt(o.get("r")+"") == r + 1 || Integer.parseInt(o.get("r")+"") == r){ r = Integer.parseInt(o.get("r")+""); tableData.add(o); }else{ break; } } } } product.setTemplate(tableData); product.setStyle(style); } } } map.put("sampleProduct", list); return map; } } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -13,15 +13,13 @@ import com.yuanchu.mom.dto.OrderThingDto; import com.yuanchu.mom.dto.SampleOrderDto; import com.yuanchu.mom.dto.SampleProductDto; import com.yuanchu.mom.mapper.InsOrderMapper; import com.yuanchu.mom.mapper.InsProductMapper; import com.yuanchu.mom.mapper.InsSampleMapper; import com.yuanchu.mom.mapper.InsSampleUserMapper; import com.yuanchu.mom.mapper.*; import com.yuanchu.mom.pojo.InsOrder; import com.yuanchu.mom.pojo.InsProduct; import com.yuanchu.mom.pojo.InsSample; import com.yuanchu.mom.pojo.InsSampleUser; import com.yuanchu.mom.service.InsOrderService; import com.yuanchu.mom.service.StandardTemplateService; import com.yuanchu.mom.utils.GiveCode; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; @@ -115,8 +113,8 @@ @Override public Map<String, Object> getInsOrder(Integer id) { Map<String, Object> map = new HashMap<>(); List<SampleProductDto> list = insSampleMapper.selectSampleProductListByOrderId(id); InsOrder insOrder = insOrderMapper.selectById(id); List<SampleProductDto> list = insSampleMapper.selectSampleProductListByOrderId(id); map.put("insOrder", insOrder); map.put("sampleProduct", list); return map; inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java
@@ -63,7 +63,7 @@ } @Override public String getStandTempThingByTIdAndPName(Integer templateId, String inspectionItem, String inspectionItemSubclass) { public String getStandTempThingById(Integer templateId) { return standardTemplateMapper.selectById(templateId).getThing(); } } inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -22,7 +22,7 @@ @ValueTableShow(value = 5,name = "状态") private String insState; @ValueTableShow(value = 5,name = "检验结果") @ValueTableShow(value = 8,name = "检验结果") private Integer insResult; @ValueTableShow(value = 6,name = "约定时间") inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -18,10 +18,8 @@ <result property="model" column="model" jdbcType="VARCHAR"/> <result property="isLeave" column="is_leave" jdbcType="INTEGER"/> <result property="insState" column="ins_state" jdbcType="INTEGER"/> <result property="sendTime" column="send_time" jdbcType="TIMESTAMP"/> <result property="joinNum" column="join_num" jdbcType="INTEGER"/> <result property="remark" column="remark" jdbcType="VARCHAR"/> <result property="appointed" column="appointed" jdbcType="TIMESTAMP"/> <result property="createUser" column="create_user" jdbcType="INTEGER"/> <result property="updateUser" column="update_user" jdbcType="INTEGER"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> @@ -71,17 +69,17 @@ <select id="selectSampleProductListByOrderId" resultMap="sampleDto"> select isa.*, ip.id, ip.id ip_id, inspection_item, inspection_item_classify, inspection_item_subclass, ip.factory, ip.laboratory, ip.sample_type, ip.sample, ip.model, ip.factory ip_factory, ip.laboratory ip_laboratory, ip.sample_type ip_sample_type, ip.sample ip_sample, ip.model ip_model, son_laboratory, ip.unit, ip.unit ip_unit, price, man_hour, man_hour_group, @@ -96,17 +94,18 @@ bsm, ask, `last_value`, ip.ins_result, ip.ins_result ip_ins_result, state, ins_sample_id, ip.create_user, ip.update_user, ip.create_time, ip.update_time, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, ip.update_time ip_update_time, template_id from ins_sample isa left join ins_product ip on isa.id = ip.ins_sample_id left join ins_product ip on isa.id = ip.ins_sample_id where ins_order_id = #{id} and state = 1 </select> <resultMap id="sampleDto" type="com.yuanchu.mom.dto.SampleProductDto"> @@ -123,10 +122,8 @@ <result property="model" column="model" jdbcType="VARCHAR"/> <result property="isLeave" column="is_leave" jdbcType="INTEGER"/> <result property="insState" column="ins_state" jdbcType="INTEGER"/> <result property="sendTime" column="send_time" jdbcType="TIMESTAMP"/> <result property="joinNum" column="join_num" jdbcType="INTEGER"/> <result property="remark" column="remark" jdbcType="VARCHAR"/> <result property="appointed" column="appointed" jdbcType="TIMESTAMP"/> <result property="createUser" column="create_user" jdbcType="INTEGER"/> <result property="updateUser" column="update_user" jdbcType="INTEGER"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> @@ -137,17 +134,17 @@ </resultMap> <resultMap id="product" type="com.yuanchu.mom.pojo.InsProduct"> <id property="id" column="ip.id" jdbcType="INTEGER"/> <id property="id" column="ip_id" jdbcType="INTEGER"/> <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/> <result property="inspectionItemClassify" column="inspection_item_classify" jdbcType="VARCHAR"/> <result property="inspectionItemSubclass" column="inspection_item_subclass" jdbcType="VARCHAR"/> <result property="factory" column="ip.factory" jdbcType="VARCHAR"/> <result property="laboratory" column="ip.laboratory" jdbcType="VARCHAR"/> <result property="sampleType" column="ip.sample_type" jdbcType="VARCHAR"/> <result property="sample" column="ip.sample" jdbcType="VARCHAR"/> <result property="model" column="ip.model" jdbcType="VARCHAR"/> <result property="factory" column="ip_factory" jdbcType="VARCHAR"/> <result property="laboratory" column="ip_laboratory" jdbcType="VARCHAR"/> <result property="sampleType" column="ip_sample_type" jdbcType="VARCHAR"/> <result property="sample" column="ip_sample" jdbcType="VARCHAR"/> <result property="model" column="ip_model" jdbcType="VARCHAR"/> <result property="sonLaboratory" column="son_laboratory" jdbcType="VARCHAR"/> <result property="unit" column="ip.unit" jdbcType="VARCHAR"/> <result property="unit" column="ip_unit" jdbcType="VARCHAR"/> <result property="price" column="price" jdbcType="DECIMAL"/> <result property="manHour" column="man_hour" jdbcType="DOUBLE"/> <result property="manHourGroup" column="man_hour_group" jdbcType="VARCHAR"/> @@ -162,13 +159,13 @@ <result property="bsm" column="bsm" jdbcType="VARCHAR"/> <result property="ask" column="ask" jdbcType="VARCHAR"/> <result property="lastValue" column="last_value" jdbcType="VARCHAR"/> <result property="insResult" column="ip.ins_result" jdbcType="INTEGER"/> <result property="insResult" column="ip_ins_result" jdbcType="INTEGER"/> <result property="state" column="state" jdbcType="INTEGER"/> <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/> <result property="createUser" column="ip.create_user" jdbcType="INTEGER"/> <result property="updateUser" column="ip.update_user" jdbcType="INTEGER"/> <result property="createTime" column="ip.create_time" jdbcType="TIMESTAMP"/> <result property="updateTime" column="ip.update_time" jdbcType="TIMESTAMP"/> <result property="templateId" column="ip.template_id" jdbcType="INTEGER"/> <result property="createUser" column="ip_create_user" jdbcType="INTEGER"/> <result property="updateUser" column="ip_update_user" jdbcType="INTEGER"/> <result property="createTime" column="ip_create_time" jdbcType="TIMESTAMP"/> <result property="updateTime" column="ip_update_time" jdbcType="TIMESTAMP"/> <result property="templateId" column="template_id" jdbcType="INTEGER"/> </resultMap> </mapper>