检验分配逻辑变更

master
zhaoxiaolin 3 months ago
parent cc485c9365
commit a05dc41f21

@ -180,4 +180,10 @@ public class MesReportWorkConsumeController extends BaseController {
List<MesReportWorkConsume> rlist = mesReportWorkConsumeService.getBomList(mesReportWorkConsume); List<MesReportWorkConsume> rlist = mesReportWorkConsumeService.getBomList(mesReportWorkConsume);
return rlist; return rlist;
} }
@Log(title = "一键清除生产报工物料消耗", businessType = BusinessType.DELETE)
@DeleteMapping("/deleteConsume/{workorderCode}")
public AjaxResult deleteConsume(@PathVariable String workorderCode) {
return toAjax(mesReportWorkConsumeService.deleteConsume(workorderCode));
}
} }

@ -242,4 +242,8 @@ public interface MesReportWorkMapper {
List<ConsumptionDiff> getReportWorksList(ConsumptionDiff consumptionDiff); List<ConsumptionDiff> getReportWorksList(ConsumptionDiff consumptionDiff);
String getLastCPPC(MesReportWork rwork); String getLastCPPC(MesReportWork rwork);
int deleteConsume(@Param("list") List<MesReportWorkConsume> list);
List<MesReportWorkConsume> getClearConsum(String workorderCode);
} }

@ -87,4 +87,6 @@ public interface IMesReportWorkConsumeService {
List<MesReportWorkConsume> getBomList(MesReportWorkConsume mesReportWorkConsume); List<MesReportWorkConsume> getBomList(MesReportWorkConsume mesReportWorkConsume);
List<MesReportWorkConsumeTabs> getAllLevelConsumeList(MesReportWorkConsume mesReportWorkConsume); List<MesReportWorkConsumeTabs> getAllLevelConsumeList(MesReportWorkConsume mesReportWorkConsume);
int deleteConsume(String workorderCode);
} }

@ -403,4 +403,14 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer
return tabs; return tabs;
} }
@Override
@DS("#header.poolName")
public int deleteConsume(String workorderCode) {
List<MesReportWorkConsume> clearData = mesReportWorkMapper.getClearConsum(workorderCode);
if(CollectionUtils.isEmpty(clearData)){
return 1;
}
return mesReportWorkMapper.deleteConsume(clearData) ;
}
} }

@ -1740,4 +1740,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<delete id="deleteReportConsume"> <delete id="deleteReportConsume">
update mes_report_work_consume set del_flag = '1' where report_code = #{reportCode} update mes_report_work_consume set del_flag = '1' where report_code = #{reportCode}
</delete> </delete>
<select id="getClearConsum" resultType="com.op.mes.domain.MesReportWorkConsume">
select * from(
select workorder_code workorderCode,
material_code materialCode,
count(0) attr1,
min(create_time) attr2
from mes_report_work_consume where parent_order =#{workorderCode}
GROUP BY workorder_code,material_code
) t where attr1>1
</select>
<delete id="deleteConsume">
<foreach collection="list" item="item" separator=";">
update mes_report_work_consume
set
del_flag = '1'
where
workorder_code = #{item.workorderCode} and
material_code = #{item.materialCode} and
create_time = #{item.attr2}
</foreach>
</delete>
</mapper> </mapper>

@ -78,6 +78,7 @@ public interface OpenMapper {
public int addBatch(@Param("list") List<QcCheckTaskDetailDTO> items); public int addBatch(@Param("list") List<QcCheckTaskDetailDTO> items);
List<QcUserMaterialDTO> getCheckUsers(String checkType); List<QcUserMaterialDTO> getCheckUsers(String checkType);
List<QcUserMaterialDTO> getCheckUserBelongLine(QcCheckTaskProduceDTO qcCheckTaskProduce);
public int addCheckUsers(@Param("list") List<QcUserMaterialDTO> users); public int addCheckUsers(@Param("list") List<QcUserMaterialDTO> users);

@ -428,18 +428,9 @@ public class OpenServiceImpl implements OpenService {
qctp.setMaterialCode(qcCheckTaskProduce.getMaterialCode());//特性 qctp.setMaterialCode(qcCheckTaskProduce.getMaterialCode());//特性
/**qc_user_material取默认检查人**/ /**qc_user_material取默认检查人**/
List<QcUserMaterialDTO> users = openMapper.getCheckUsers(qcCheckTaskProduce.getCheckType()); List<QcUserMaterialDTO> users = openMapper.getCheckUserBelongLine(qcCheckTaskProduce);
if (CollectionUtils.isEmpty(users)) { if (CollectionUtils.isEmpty(users)) {
QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); users = openMapper.getCheckUsers(qcCheckTaskProduce.getCheckType());
dto0.setId(IdUtils.fastSimpleUUID());
dto0.setBelongTo(beLongId);
dto0.setCheckNo(qcCheckTaskProduce.getCheckNo());
dto0.setCreateBy(createBy);
dto0.setFactoryCode(factoryCode);
dto0.setCreateTime(nowDate);
dto0.setUserCode("mobile");
dto0.setUserName("手持测试用户");
users.add(dto0);
} else { } else {
for (QcUserMaterialDTO user : users) { for (QcUserMaterialDTO user : users) {
user.setId(IdUtils.fastSimpleUUID()); user.setId(IdUtils.fastSimpleUUID());

@ -223,6 +223,15 @@
from qc_user_material qum from qc_user_material qum
where qum.material_code = #{checkType} and qum.del_flag = '0' where qum.material_code = #{checkType} and qum.del_flag = '0'
</select> </select>
<select id="getCheckUserBelongLine" resultType="com.op.system.api.domain.quality.QcUserMaterialDTO">
select qum.user_code userCode,
qum.user_name userName
from qc_user_material qum
where qum.material_code = #{checkType} and qum.del_flag = '0'
and qum.attr2 in(
select workorder_name from pro_order_workorder where workorder_code = #{orderNo} and del_flag = '0'
)
</select>
<select id="getSampNum" resultType="java.lang.String"> <select id="getSampNum" resultType="java.lang.String">
select sample_quality select sample_quality
from qc_sample_rule from qc_sample_rule

@ -67,6 +67,17 @@ public class QcCheckTypeController extends BaseController {
return success(qcCheckTypeService.selectQcCheckTypeById(id)); return success(qcCheckTypeService.selectQcCheckTypeById(id));
} }
//获取物料组
@GetMapping(value = "/listBelongToStandars")
public List<QcCheckType> listBelongToStandars() {
return qcCheckTypeService.getBelongToStandars();
}
//获取线体
@GetMapping(value = "/listBelongToLines")
public List<QcCheckType> listBelongToLines() {
return qcCheckTypeService.getBelongToLines();
}
/** /**
* *
*/ */

@ -548,9 +548,7 @@ public class QcStaticTableController extends BaseController {
for (String titleKey : titleKeys) { for (String titleKey : titleKeys) {
detailMap1.put(titleKey, detailMap0.get(0).get(titleKey + "Detail")); detailMap1.put(titleKey, detailMap0.get(0).get(titleKey + "Detail"));
} }
if (StringUtils.isNotBlank((String) detailMap1.get(titleKeys.get(0)))) { list.add(detailMap1);
list.add(detailMap1);
}
} }
@ -895,7 +893,7 @@ public class QcStaticTableController extends BaseController {
for(int m=0;m<titils.size();m++){ for(int m=0;m<titils.size();m++){
excelCols.add(new ExcelCol(titils.get(m), "monthNum"+m, 30)); excelCols.add(new ExcelCol(titils.get(m), "monthNum"+m, 30));
} }
excelCols.add(new ExcelCol("累计", "rowSum", 30));
String sheetName = "白坯不良率报表"; String sheetName = "白坯不良率报表";
SXSSFWorkbook workbook = null; SXSSFWorkbook workbook = null;
try { try {
@ -939,7 +937,7 @@ public class QcStaticTableController extends BaseController {
for(int m=0;m<titils.size();m++){ for(int m=0;m<titils.size();m++){
excelCols.add(new ExcelCol(titils.get(m), "monthNum"+m, 30)); excelCols.add(new ExcelCol(titils.get(m), "monthNum"+m, 30));
} }
excelCols.add(new ExcelCol("累计", "rowSum", 30));
String sheetName = "白坯返工率报表"; String sheetName = "白坯返工率报表";
SXSSFWorkbook workbook = null; SXSSFWorkbook workbook = null;
try { try {
@ -977,6 +975,7 @@ public class QcStaticTableController extends BaseController {
for(int m=0;m<titils.size();m++){ for(int m=0;m<titils.size();m++){
excelCols.add(new ExcelCol(titils.get(m), "monthNum"+m, 30)); excelCols.add(new ExcelCol(titils.get(m), "monthNum"+m, 30));
} }
excelCols.add(new ExcelCol("累计", "rowSum", 30));
String sheetName = "白坯缺陷排列报表"; String sheetName = "白坯缺陷排列报表";
SXSSFWorkbook workbook = null; SXSSFWorkbook workbook = null;

@ -163,7 +163,10 @@ public class QcUserMaterialController extends BaseController {
return toAjax(i); return toAjax(i);
} }
@PutMapping("/updateBelongTo")
public AjaxResult updateBelongTo(@RequestBody QcUserMaterial qcUserMaterial) {
return toAjax(qcUserMaterialService.updateQcUserMaterial(qcUserMaterial));
}
} }

@ -102,6 +102,8 @@ public interface QcCheckTaskIncomeMapper {
List<QcUserMaterialDTO> getUserByCheckType(String checkType); List<QcUserMaterialDTO> getUserByCheckType(String checkType);
List<QcUserMaterialDTO> getCheckUser(QcCheckTaskIncome qcCheckTaskIncome); List<QcUserMaterialDTO> getCheckUser(QcCheckTaskIncome qcCheckTaskIncome);
List<QcUserMaterialDTO> getCheckUserBelongStandar(QcCheckTaskIncome qcCheckTaskIncome);
List<QcUserMaterialDTO> getCheckUserBelongLine(QcCheckTaskIncome qcCheckTaskIncome);
int addCheckUsers(@Param("list") List<QcUserMaterialDTO> users); int addCheckUsers(@Param("list") List<QcUserMaterialDTO> users);

@ -63,4 +63,6 @@ public interface QcCheckTypeMapper {
List<QcCheckType> getTopTaskInfo(QcCheckType qcCheckType); List<QcCheckType> getTopTaskInfo(QcCheckType qcCheckType);
List<QcCheckType> getBelongToLines();
List<QcCheckType> getBelongToStandars();
} }

@ -64,5 +64,6 @@ public interface IQcCheckTypeService {
List<QcCheckType> getTopTaskInfo(QcCheckType qcCheckType); List<QcCheckType> getTopTaskInfo(QcCheckType qcCheckType);
List<QcCheckType> getBelongToLines();
List<QcCheckType> getBelongToStandars();
} }

@ -235,18 +235,10 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
qcCheckTaskIncome.setCheckManName(""); qcCheckTaskIncome.setCheckManName("");
qcCheckTaskIncome.setCheckManCode(""); qcCheckTaskIncome.setCheckManCode("");
/**qc_user_material取默认检查人**/ /**qc_user_material取默认检查人**/
users = qcCheckTaskIncomeMapper.getCheckUser(qcCheckTaskIncome); qcCheckTaskIncome.setBelongTo(group.getGroupId());
users = qcCheckTaskIncomeMapper.getCheckUserBelongStandar(qcCheckTaskIncome);
if(CollectionUtils.isEmpty(users)){ if(CollectionUtils.isEmpty(users)){
QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); users = qcCheckTaskIncomeMapper.getCheckUser(qcCheckTaskIncome);
dto0.setId(IdUtils.fastSimpleUUID());
dto0.setBelongTo(beLongId);
dto0.setCheckNo(qcCheckTaskIncome.getCheckNo());
dto0.setCreateBy(createBy);
dto0.setFactoryCode(factoryCode);
dto0.setCreateTime(nowDate);
dto0.setUserCode("mobile");
dto0.setUserName("手持测试用户");
users.add(dto0);
}else{ }else{
for(QcUserMaterialDTO user:users){ for(QcUserMaterialDTO user:users){
user.setId(IdUtils.fastSimpleUUID()); user.setId(IdUtils.fastSimpleUUID());

@ -239,7 +239,14 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
qcCheckTaskProduce.setCheckManName(""); qcCheckTaskProduce.setCheckManName("");
qcCheckTaskProduce.setCheckManCode(""); qcCheckTaskProduce.setCheckManCode("");
/**qc_user_material取默认检查人**/ /**qc_user_material取默认检查人**/
users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskProduce.getCheckType()); QcCheckTaskIncome qcCheckTaskIncome = new QcCheckTaskIncome();
qcCheckTaskIncome.setCheckType(qcCheckTaskProduce.getCheckType());
qcCheckTaskIncome.setMaterialCode(qcCheckTaskProduce.getMaterialCode());
users = qcCheckTaskIncomeMapper.getCheckUserBelongLine(qcCheckTaskIncome);
if(CollectionUtils.isEmpty(users)){
users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskProduce.getCheckType());
}
if(!CollectionUtils.isEmpty(users)){ if(!CollectionUtils.isEmpty(users)){
for(QcUserMaterialDTO user:users){ for(QcUserMaterialDTO user:users){
user.setId(IdUtils.fastSimpleUUID()); user.setId(IdUtils.fastSimpleUUID());

@ -128,4 +128,16 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService {
return dtos; return dtos;
} }
@Override
@DS("#header.poolName")
public List<QcCheckType> getBelongToLines() {
return qcCheckTypeMapper.getBelongToLines();
}
@Override
@DS("#header.poolName")
public List<QcCheckType> getBelongToStandars() {
return qcCheckTypeMapper.getBelongToStandars();
}
} }

@ -736,7 +736,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} }
return dtos; return dtos;
} }
/**2025-04-01调整过**/
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public QcStaticTable getDLTableAvgInfo(QcStaticTable qcStaticTable) { public QcStaticTable getDLTableAvgInfo(QcStaticTable qcStaticTable) {
@ -769,20 +769,33 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
for (int n = 0; n < colCode2.size(); n++) { for (int n = 0; n < colCode2.size(); n++) {
String key = colCode1.get(m) + "-" + colCode2.get(n) + "-" + day; String key = colCode1.get(m) + "-" + colCode2.get(n) + "-" + day;
QcStaticTable avgdto = titleMap.get(key); QcStaticTable avgdto = titleMap.get(key);
if (avgdto != null) { if (avgdto != null && StringUtils.isNotBlank(avgdto.getQuality())) {
String avgArrayStr = avgdto.getQuality().replace("[", "") String avgArrayStr = avgdto.getQuality().replace("[", "")
.replace("]", "") .replace("]", "")
.replace("\"", ""); .replace("\"", "")
.replaceAll("[\\u4e00-\\u9fa5]+", "")
.replace("/", "");
List<String> avgArray = Arrays.asList(avgArrayStr.split(",")); List<String> avgArray = Arrays.asList(avgArrayStr.split(","));
if(avgArray.size()==0){
continue;
}
BigDecimal addVal = new BigDecimal("0.00"); BigDecimal addVal = new BigDecimal("0.00");
int s = 0;
for (String avgVal : avgArray) { for (String avgVal : avgArray) {
if(avgVal.matches(".*\\..*\\..*")){ if(avgVal.matches(".*\\..*\\..*")){
addVal = addVal.add(new BigDecimal(avgVal.substring(2))); addVal = addVal.add(new BigDecimal(avgVal.substring(2)));
s+=1;
}else{ }else{
addVal = addVal.add(new BigDecimal(avgVal)); if(StringUtils.isNotBlank(removeBeforeColon(avgVal))){
addVal = addVal.add(new BigDecimal(removeBeforeColon(avgVal)));
s+=1;
}
} }
} }
BigDecimal avg = addVal.divide(new BigDecimal(avgArray.size()), 2, BigDecimal.ROUND_HALF_UP); BigDecimal avg = BigDecimal.ZERO;
if(s>0){
avg = addVal.divide(new BigDecimal(s), 2, BigDecimal.ROUND_HALF_UP);
}
result.put("mcode" + m + "Pcode" + n, avg); result.put("mcode" + m + "Pcode" + n, avg);
detailResult.put("mcode" + m + "Pcode" + n + "Detail", avgArrayStr.replace(",", "\n")); detailResult.put("mcode" + m + "Pcode" + n + "Detail", avgArrayStr.replace(",", "\n"));
} else { } else {
@ -812,7 +825,13 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
return dto; return dto;
} }
public static String removeBeforeColon(String input) {
int index = input.indexOf(':');
if (index != -1) {
return input.substring(index + 1);
}
return input;
}
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public QcStaticTable getDLTableCPKInfo(QcStaticTable qcStaticTable) { public QcStaticTable getDLTableCPKInfo(QcStaticTable qcStaticTable) {
@ -1319,6 +1338,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
.replace("", "") .replace("", "")
.replace(",,", ",") .replace(",,", ",")
.replace("..", ".") .replace("..", ".")
.replaceAll("[\\u4e00-\\u9fa5]+", "")
.replace("\\", ""); .replace("\\", "");
List<String> actArray0 = Arrays.asList(actArrayStr.split(",")); List<String> actArray0 = Arrays.asList(actArrayStr.split(","));
List<String> actArray = new ArrayList<>(); List<String> actArray = new ArrayList<>();
@ -1415,29 +1435,36 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
dto1 = new HashMap<>(); dto1 = new HashMap<>();
dto1.put("materialName",bpMaterial.getMaterialName()); dto1.put("materialName",bpMaterial.getMaterialName());
dto1.put("dataType","抽检数"); dto1.put("dataType","抽检数");
BigDecimal rowSum = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m)); QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m));
if(sampMap!=null){ if(sampMap!=null){
dto1.put("monthNum"+m,sampMap.getSampleQty().replace(".00","")); dto1.put("monthNum"+m,sampMap.getSampleQty().replace(".00",""));
rowSum = rowSum.add(new BigDecimal(sampMap.getSampleQty()));
} }
} }
dto1.put("rowSum",rowSum.toString().replace(".00",""));
dtos.add(dto1); dtos.add(dto1);
dto2 = new HashMap<>(); dto2 = new HashMap<>();
dto2.put("materialName",bpMaterial.getMaterialName()); dto2.put("materialName",bpMaterial.getMaterialName());
dto2.put("dataType","不良品数"); dto2.put("dataType","不良品数");
BigDecimal rowSum2 = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m)); QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m));
if(sampMap!=null){ if(sampMap!=null){
dto2.put("monthNum"+m,sampMap.getNoOkQty().replace(".00","")); dto2.put("monthNum"+m,sampMap.getNoOkQty().replace(".00",""));
rowSum2 = rowSum2.add(new BigDecimal(sampMap.getNoOkQty()));
} }
} }
dto2.put("rowSum",rowSum2.toString().replace(".00",""));
dtos.add(dto2); dtos.add(dto2);
dto3 = new HashMap<>(); dto3 = new HashMap<>();
dto3.put("materialName",bpMaterial.getMaterialName()); dto3.put("materialName",bpMaterial.getMaterialName());
dto3.put("dataType","不良率%"); dto3.put("dataType","不良率%");
BigDecimal rowRadio = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m)); QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m));
if(sampMap!=null){ if(sampMap!=null){
@ -1452,6 +1479,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} }
} }
} }
if(rowSum.compareTo(BigDecimal.ZERO)!=0){
rowRadio = rowSum2
.multiply(new BigDecimal("100"))
.divide(rowSum,2,BigDecimal.ROUND_HALF_UP);
}
dto3.put("rowSum",rowRadio.toString()+"%");
dtos.add(dto3); dtos.add(dto3);
} }
@ -1470,6 +1503,8 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
dto6.put("materialName","总合计"); dto6.put("materialName","总合计");
dto6.put("dataType","不良率%"); dto6.put("dataType","不良率%");
BigDecimal rowHjSample = BigDecimal.ZERO;
BigDecimal rowHjNoOk = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampHzMaps.get(days.get(m)); QcStaticTable sampMap = sampHzMaps.get(days.get(m));
if(sampMap!=null){ if(sampMap!=null){
@ -1484,8 +1519,18 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
.divide(sampleqty,2,BigDecimal.ROUND_HALF_UP); .divide(sampleqty,2,BigDecimal.ROUND_HALF_UP);
dto6.put("monthNum"+m,nookrate+"%"); dto6.put("monthNum"+m,nookrate+"%");
} }
rowHjSample = rowHjSample.add(new BigDecimal(sampMap.getSampleQty()));
rowHjNoOk = rowHjNoOk.add(new BigDecimal(sampMap.getNoOkQty()));
} }
} }
dto4.put("rowSum",rowHjSample.toString());
dto5.put("rowSum",rowHjNoOk.toString());
BigDecimal hjnookrate = rowHjNoOk.multiply(new BigDecimal("100"))
.divide(rowHjSample,2,BigDecimal.ROUND_HALF_UP);
dto6.put("rowSum",hjnookrate+"%");
dtos.add(dto4); dtos.add(dto4);
dtos.add(dto5); dtos.add(dto5);
dtos.add(dto6); dtos.add(dto6);
@ -1537,29 +1582,36 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
dto1 = new HashMap<>(); dto1 = new HashMap<>();
dto1.put("materialName",bpMaterial.getMaterialName()); dto1.put("materialName",bpMaterial.getMaterialName());
dto1.put("dataType","抽检次数"); dto1.put("dataType","抽检次数");
BigDecimal rowSum = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m)); QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m));
if(sampMap!=null){ if(sampMap!=null){
dto1.put("monthNum"+m,sampMap.getSampleQty().replace(".00","")); dto1.put("monthNum"+m,sampMap.getSampleQty().replace(".00",""));
rowSum = rowSum.add(new BigDecimal(sampMap.getSampleQty()));
} }
} }
dto1.put("rowSum",rowSum.toString().replace(".00",""));
dtos.add(dto1); dtos.add(dto1);
dto2 = new HashMap<>(); dto2 = new HashMap<>();
dto2.put("materialName",bpMaterial.getMaterialName()); dto2.put("materialName",bpMaterial.getMaterialName());
dto2.put("dataType","返工次数"); dto2.put("dataType","返工次数");
BigDecimal rowSum2 = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m)); QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m));
if(sampMap!=null){ if(sampMap!=null){
dto2.put("monthNum"+m,sampMap.getNoOkQty().replace(".00","")); dto2.put("monthNum"+m,sampMap.getNoOkQty().replace(".00",""));
rowSum2 = rowSum2.add(new BigDecimal(sampMap.getNoOkQty()));
} }
} }
dto2.put("rowSum",rowSum2.toString().replace(".00",""));
dtos.add(dto2); dtos.add(dto2);
dto3 = new HashMap<>(); dto3 = new HashMap<>();
dto3.put("materialName",bpMaterial.getMaterialName()); dto3.put("materialName",bpMaterial.getMaterialName());
dto3.put("dataType","返工率%"); dto3.put("dataType","返工率%");
BigDecimal rowRadio = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m)); QcStaticTable sampMap = sampMaps.get(bpMaterial.getMaterialCode()+days.get(m));
if(sampMap!=null){ if(sampMap!=null){
@ -1574,6 +1626,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} }
} }
} }
if(rowSum.compareTo(BigDecimal.ZERO)!=0){
rowRadio = rowSum2
.multiply(new BigDecimal("100"))
.divide(rowSum,2,BigDecimal.ROUND_HALF_UP);
}
dto3.put("rowSum",rowRadio.toString()+"%");
dtos.add(dto3); dtos.add(dto3);
} }
@ -1591,7 +1649,8 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
Map<String,String> dto6 = new HashMap<>(); Map<String,String> dto6 = new HashMap<>();
dto6.put("materialName","总合计"); dto6.put("materialName","总合计");
dto6.put("dataType","返工率%"); dto6.put("dataType","返工率%");
BigDecimal rowHjSample = BigDecimal.ZERO;
BigDecimal rowHjNoOk = BigDecimal.ZERO;
for(int m=0;m<days.size();m++){ for(int m=0;m<days.size();m++){
QcStaticTable sampMap = sampHzMaps.get(days.get(m)); QcStaticTable sampMap = sampHzMaps.get(days.get(m));
if(sampMap!=null){ if(sampMap!=null){
@ -1606,8 +1665,17 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
.divide(sampleqty,2,BigDecimal.ROUND_HALF_UP); .divide(sampleqty,2,BigDecimal.ROUND_HALF_UP);
dto6.put("monthNum"+m,nookrate+"%"); dto6.put("monthNum"+m,nookrate+"%");
} }
rowHjSample = rowHjSample.add(new BigDecimal(sampMap.getSampleQty()));
rowHjNoOk = rowHjNoOk.add(new BigDecimal(sampMap.getNoOkQty()));
} }
} }
dto4.put("rowSum",rowHjSample.toString());
dto5.put("rowSum",rowHjNoOk.toString());
BigDecimal hjnookrate = rowHjNoOk.multiply(new BigDecimal("100"))
.divide(rowHjSample,2,BigDecimal.ROUND_HALF_UP);
dto6.put("rowSum",hjnookrate+"%");
dtos.add(dto4); dtos.add(dto4);
dtos.add(dto5); dtos.add(dto5);
dtos.add(dto6); dtos.add(dto6);

@ -588,6 +588,16 @@
and attr1 = #{orderType} and attr1 = #{orderType}
</if> </if>
</select> </select>
<select id="getCheckUserBelongStandar" resultType="com.op.system.api.domain.quality.QcUserMaterialDTO">
select qum.user_code userCode,
qum.user_name userName
from qc_user_material qum
where qum.material_code = #{checkType} and qum.del_flag = '0'
and qum.attr2 = #{belongTo}
<if test = "orderType!=null">
and qum.attr1 = #{orderType}
</if>
</select>
<select id="getCkeckDefectList" resultType="com.op.quality.domain.QcCheckTaskDefect"> <select id="getCkeckDefectList" resultType="com.op.quality.domain.QcCheckTaskDefect">
select select
@ -886,6 +896,15 @@
from base_warehouse from base_warehouse
where active_flag = '1' and del_flag = '0' where active_flag = '1' and del_flag = '0'
</select> </select>
<select id="getCheckUserBelongLine" resultType="com.op.system.api.domain.quality.QcUserMaterialDTO">
select qum.user_code userCode,
qum.user_name userName
from qc_user_material qum
where qum.material_code = #{checkType} and qum.del_flag = '0'
and qum.attr2 in(
select workorder_name from pro_order_workorder where workorder_code = #{orderNo} and del_flag = '0'
)
</select>
<!--批量更新原始表--> <!--批量更新原始表-->
<update id="updateIncomeBatchList"> <update id="updateIncomeBatchList">

@ -67,6 +67,17 @@
or CONVERT(varchar(10),qct.create_time, 120) = CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120) or CONVERT(varchar(10),qct.create_time, 120) = CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120)
) )
</select> </select>
<select id="getBelongToLines" resultType="com.op.quality.domain.QcCheckType">
select equipment_code typeCode,
equipment_name typeName
from base_equipment
where equipment_type_code = 'equ_type_bzx' and del_flag = '0'
</select>
<select id="getBelongToStandars" resultType="com.op.quality.domain.QcCheckType">
select id typeCode,
group_name typeName
from qc_material_group where group_code is not null and del_flag = '0'
</select>
<insert id="insertQcCheckType" parameterType="QcCheckType"> <insert id="insertQcCheckType" parameterType="QcCheckType">
insert into qc_check_type insert into qc_check_type

@ -114,7 +114,7 @@
</if> </if>
</select> </select>
<select id="getSelectedUsers" resultMap="QcUserMaterialResult"> <select id="getSelectedUsers" resultMap="QcUserMaterialResult">
select qum.id, qum.user_code, qum.user_name, qum.attr1 select qum.id, qum.user_code, qum.user_name, qum.attr1, qum.attr2
from qc_user_material qum from qc_user_material qum
where qum.del_flag = '0' and qum.material_code = #{materialCode} where qum.del_flag = '0' and qum.material_code = #{materialCode}
</select> </select>
@ -164,7 +164,7 @@
<if test="materialCode != null">material_code = #{materialCode},</if> <if test="materialCode != null">material_code = #{materialCode},</if>
<if test="materialName != null">material_name = #{materialName},</if> <if test="materialName != null">material_name = #{materialName},</if>
<if test="attr1 != null">attr1 = #{attr1},</if> <if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if> attr2 = #{attr2},
<if test="attr3 != null">attr3 = #{attr3},</if> <if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if> <if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>

Loading…
Cancel
Save