Browse Source

更新审批模板

lwx_dev
erdanergou 3 years ago
parent
commit
75e380c7a4
  1. 2
      src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java
  2. 18
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java
  3. 3
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  4. 35
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  5. 4
      src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java
  6. 255
      src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java
  7. 2
      src/main/resources/templates/pages/depository/table-in.html
  8. 40
      src/main/resources/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html
  9. 46
      src/test/java/com/dreamchaser/depository_manage/TestForOther.java
  10. 1
      target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  11. 2
      target/classes/templates/pages/depository/table-in.html
  12. 40
      target/classes/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html
  13. 244
      target/classes/templates/pages/split/split_add.html

2
src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java

@ -108,7 +108,7 @@ public class GroupController {
boolean flagForQuantity = false; boolean flagForQuantity = false;
for (Integer quantity : inventoryByMidAndDepository) { for (Integer quantity : inventoryByMidAndDepository) {
// 如果库存符合要求 // 如果库存符合要求
if (quantity > groupInfo.getQuantity()) { if (quantity >= groupInfo.getQuantity()) {
flagForQuantity = true; flagForQuantity = true;
} }
} }

18
src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java

@ -646,14 +646,16 @@ public class MaterialController {
if (placeAndMaterialByMidAndPid != null) { if (placeAndMaterialByMidAndPid != null) {
SplitInventory splitInventory = splitUnitService.findSplitInventoryByIidAndSid(placeAndMaterialByMidAndPid.getId(), splitInfo.getId()); SplitInventory splitInventory = splitUnitService.findSplitInventoryByIidAndSid(placeAndMaterialByMidAndPid.getId(), splitInfo.getId());
saveQuantity += (splitInventory.getSaveQuantity() - splitInventory.getOutQuantity()); if(splitInventory != null) {
saveQuantity += (splitInventory.getSaveQuantity() - splitInventory.getOutQuantity());
SplitInfo parentSplitInfo = splitUnitService.findSplitInfoById(splitInfo.getParentId());
while (parentSplitInfo != null) { SplitInfo parentSplitInfo = splitUnitService.findSplitInfoById(splitInfo.getParentId());
splitInventory = splitUnitService.findSplitInventoryByIidAndSid(placeAndMaterialByMidAndPid.getId(), parentSplitInfo.getId()); while (parentSplitInfo != null) {
splitInfo = splitUnitService.findSplitInfoByParentId(parentSplitInfo.getId()); splitInventory = splitUnitService.findSplitInventoryByIidAndSid(placeAndMaterialByMidAndPid.getId(), parentSplitInfo.getId());
saveQuantity += (splitInventory.getSaveQuantity() - splitInventory.getOutQuantity()) * splitInfo.getQuantity(); splitInfo = splitUnitService.findSplitInfoByParentId(parentSplitInfo.getId());
parentSplitInfo = splitUnitService.findSplitInfoById(parentSplitInfo.getParentId()); saveQuantity += (splitInventory.getSaveQuantity() - splitInventory.getOutQuantity()) * splitInfo.getQuantity();
parentSplitInfo = splitUnitService.findSplitInfoById(parentSplitInfo.getParentId());
}
} }
} }
} }

3
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -1328,12 +1328,13 @@ public class PageController {
} }
@GetMapping("/form_step_look") @GetMapping("/form_step_look")
public ModelAndView form_step_look(Integer id, Integer flagForGroup, HttpServletRequest request) { public ModelAndView form_step_look(Integer id, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); UserByPort userToken = (UserByPort) request.getAttribute("userToken");
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
mv.setViewName("pages/application/form-step-look"); mv.setViewName("pages/application/form-step-look");
if (id != null) { if (id != null) {
ApplicationInRecordP applicationInRecordPById = depositoryRecordService.findApplicationInRecordPById(id); ApplicationInRecordP applicationInRecordPById = depositoryRecordService.findApplicationInRecordPById(id);
Integer flagForGroup = applicationInRecordPById.getFlagForGroup();
if (Integer.compare(flagForGroup, 2) != 0) { if (Integer.compare(flagForGroup, 2) != 0) {
// 如果不是组合 // 如果不是组合
UserByPort userByPort = LinkInterfaceUtil.FindUserById(applicationInRecordPById.getApplicantId(), userToken); UserByPort userByPort = LinkInterfaceUtil.FindUserById(applicationInRecordPById.getApplicantId(), userToken);

35
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -250,7 +250,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
// 获取当前时间 // 获取当前时间
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
// 获取今天凌晨的时间 // 获取今天凌晨的时间
Long nowTimeForCalc = DateUtil.getNowTimeForCalc(); Long nowTimeForCalc = DateUtil.getNowTimeForCalc();
// 获取昨天时间 // 获取昨天时间
@ -271,18 +270,20 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
// 查询昨天的入库 // 查询昨天的入库
List<ApplicationInRecordP> applicationInRecordPForYesterday = depositoryRecordMapper.findApplicationInRecordPForAPeriodOfTime(mapForYesterday); List<ApplicationInRecordP> applicationInRecordPForYesterday = depositoryRecordMapper.findApplicationInRecordPForAPeriodOfTime(mapForYesterday);
// 今天的入库数量 // 今天的入库数量
Integer sumForToday = 0; int sumForToday = 0;
// 今天的入库额度 // 今天的入库额度
Double priceForToday = 0.0; double priceForToday = 0.0;
// 昨天的入库数量 // 昨天的入库数量
Integer sumForYesterDay = 0; int sumForYesterDay = 0;
// 昨天的入库额度 // 昨天的入库额度
Double priceForYesterDay = 0.0; double priceForYesterDay = 0.0;
for (int i = 0; i < applicationInRecordPForToday.size(); i++) { for (ApplicationInRecordP applicationInRecordP : applicationInRecordPForToday) {
ApplicationInRecordP applicationInRecordP = applicationInRecordPForToday.get(i); // 获取当前入库类型(1物料2组合)
Integer flagForGroup = applicationInRecordP.getFlagForGroup();
sumForToday += applicationInRecordP.getQuantity(); sumForToday += applicationInRecordP.getQuantity();
priceForToday += applicationInRecordP.getPrice() * applicationInRecordP.getQuantity(); priceForToday += applicationInRecordP.getPrice() * applicationInRecordP.getQuantity();
} }
for (int i = 0; i < applicationInRecordPForYesterday.size(); i++) { for (int i = 0; i < applicationInRecordPForYesterday.size(); i++) {
@ -295,10 +296,10 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Double ratioForCount = 0.0; Double ratioForCount = 0.0;
Double ratioForPrice = 0.0; Double ratioForPrice = 0.0;
if (Double.compare(sumForYesterDay, 0.0) != 0) { if (Double.compare(sumForYesterDay, 0.0) != 0) {
ratioForCount = ((sumForToday - sumForYesterDay) / Double.parseDouble(sumForYesterDay.toString())); ratioForCount = ((sumForToday - sumForYesterDay) / Double.parseDouble(Integer.toString(sumForYesterDay)));
} }
if (Double.compare(priceForYesterDay, 0.0) != 0) { if (Double.compare(priceForYesterDay, 0.0) != 0) {
ratioForPrice = (priceForToday - priceForYesterDay) / Double.parseDouble(priceForYesterDay.toString()); ratioForPrice = (priceForToday - priceForYesterDay) / Double.parseDouble(Double.toString(priceForYesterDay));
} }
BigDecimal bgForSum = new BigDecimal(ratioForCount); BigDecimal bgForSum = new BigDecimal(ratioForCount);
BigDecimal bgForPrice = new BigDecimal(ratioForPrice); BigDecimal bgForPrice = new BigDecimal(ratioForPrice);
@ -655,12 +656,16 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Inventory inventoryById = materialMapper.findInventoryById(mid); Inventory inventoryById = materialMapper.findInventoryById(mid);
map.put("depositoryId", inventoryById.getDepositoryId()); map.put("depositoryId", inventoryById.getDepositoryId());
map.put("trueOut", 0); map.put("trueOut", 0);
// 获取出库数量
Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity")); String unit = (String) map.get("unit");
// 设置当前暂时出库数量 if ("-1".equals(unit)) {
inventoryById.setNumberOfTemporary(inventoryById.getNumberOfTemporary() + quantity); // 获取出库数量
// 修改库存记录 Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity"));
materialMapper.updateInventory(inventoryById); // 设置当前暂时出库数量
inventoryById.setNumberOfTemporary(inventoryById.getNumberOfTemporary() + quantity);
// 修改库存记录
materialMapper.updateInventory(inventoryById);
}
return depositoryRecordMapper.insertApplicationOutRecordMin(map); return depositoryRecordMapper.insertApplicationOutRecordMin(map);
} }

4
src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java

@ -683,6 +683,7 @@ public class GroupServiceImpl implements GroupService {
* @param map 具体数据 * @param map 具体数据
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public Integer insertApplicationInRecord(Map<String, Object> map, UserByPort userToken) { public Integer insertApplicationInRecord(Map<String, Object> map, UserByPort userToken) {
// 获取当前提交数 // 获取当前提交数
@ -715,7 +716,6 @@ public class GroupServiceImpl implements GroupService {
insertForApplicationInRecord.put("depositoryId",depositoryId); insertForApplicationInRecord.put("depositoryId",depositoryId);
insertForApplicationInRecord.put("placeId",placeId); insertForApplicationInRecord.put("placeId",placeId);
insertForApplicationInRecord.put("price", String.valueOf(0));
insertForApplicationInRecord.put("applyRemark", map.get("applyRemark" + temp)); insertForApplicationInRecord.put("applyRemark", map.get("applyRemark" + temp));
// 循环当前组合信息 // 循环当前组合信息
for (GroupInfo groupInfo : for (GroupInfo groupInfo :
@ -729,11 +729,13 @@ public class GroupServiceImpl implements GroupService {
// 如果是基础单位 // 如果是基础单位
Material material = materialMapper.findMaterialById(groupInfo.getMid()); Material material = materialMapper.findMaterialById(groupInfo.getMid());
insertForApplicationInRecord.put("unit",material.getUnit()); insertForApplicationInRecord.put("unit",material.getUnit());
insertForApplicationInRecord.put("price", String.valueOf(0));
result += depositoryRecordService.applicationInPlace(insertForApplicationInRecord); result += depositoryRecordService.applicationInPlace(insertForApplicationInRecord);
depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(insertForApplicationInRecord.get("id"))); depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(insertForApplicationInRecord.get("id")));
}else{ }else{
insertForApplicationInRecord.put("unit",unit); insertForApplicationInRecord.put("unit",unit);
insertForApplicationInRecord.put("type","in"); insertForApplicationInRecord.put("type","in");
insertForApplicationInRecord.put("price", String.valueOf(0));
result += splitUnitService.addSplitInventory(insertForApplicationInRecord); result += splitUnitService.addSplitInventory(insertForApplicationInRecord);
depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(insertForApplicationInRecord.get("applicationInId"))); depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(insertForApplicationInRecord.get("applicationInId")));
insertForApplicationInRecord.remove("applicationInId"); insertForApplicationInRecord.remove("applicationInId");

255
src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java

@ -772,20 +772,27 @@ public class QyWxOperationService {
content.append("%n---%n"); content.append("%n---%n");
for (ApplicationOutRecordMin recordMin : applicationOutRecordMinByParent) { for (ApplicationOutRecordMin recordMin : applicationOutRecordMinByParent) {
// 获取子订单信息 // 获取子订单信息
// 获取申请物料信息 // 获取申请物料信息
Inventory materialById = materialMapper.findInventoryById(recordMin.getMid()); Inventory materialById = materialMapper.findInventoryById(recordMin.getMid());
// 获取仓库信息 // 获取仓库信息
Depository depositoryRecordById = depositoryMapper.findDepositoryById(recordMin.getDepositoryId()); Depository depositoryRecordById = depositoryMapper.findDepositoryById(recordMin.getDepositoryId());
// 获取处理人信息 // 获取处理人信息
UserByPort userByPort = LinkInterfaceUtil.FindUserById(recordMin.getCheckId(), null); UserByPort userByPort = LinkInterfaceUtil.FindUserById(recordMin.getCheckId(), null);
// 获取对应出库单位
String unit = recordMin.getUnit();
if("-1".equals(unit)){
unit = materialById.getUnit();
}
content.append(">- 物料名称:").append(materialById.getMname()).append("%n"); content.append(">- 物料名称:").append(materialById.getMname()).append("%n");
content.append(">- 申请数量:").append(recordMin.getQuantity()).append("%n"); content.append(">- 申请数量:").append(recordMin.getQuantity()).append("%n");
content.append(">- 出库单位:").append(unit).append("%n");
content.append(">- 所处仓库:").append(depositoryRecordById.getDname()).append("%n"); content.append(">- 所处仓库:").append(depositoryRecordById.getDname()).append("%n");
content.append(">- 出库人员:").append(userByPort.getName()).append("%n"); content.append(">- 出库人员:").append(userByPort.getName()).append("%n");
content.append("%n---%n"); content.append("%n---%n");
} }
content.append(">## '''%n" + content.append(">## '''%n" + ">如需要查看详细信息,请点击:[查看信息](https://jy.hxgk.group/ApplicationOutView?id=").append(recordP.getId()).append(")");
">如需要查看详细信息,请点击:[查看信息](https://jy.hxgk.group/ApplicationOutView?id=" + recordP.getId() + ")");
markdown.put("content", content.toString()); markdown.put("content", content.toString());
markDown.setMarkdown(markdown); markDown.setMarkdown(markdown);
String jsonString = JSONObject.toJSONString(markDown); String jsonString = JSONObject.toJSONString(markDown);
@ -844,7 +851,7 @@ public class QyWxOperationService {
UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userToken); UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userToken);
// 设置content // 设置content
content.append(">### **" + originator.getName() + "的物料调账记录** %n<font color='warning'>时间:" + DateUtil.TimeStampToDateTime(mainRecord.getCreateTime()) + "</font> %n"); content.append(">### **").append(originator.getName()).append("的物料调账记录** %n<font color='warning'>时间:").append(DateUtil.TimeStampToDateTime(mainRecord.getCreateTime())).append("</font> %n");
content.append("%n---%n"); content.append("%n---%n");
@ -885,16 +892,21 @@ public class QyWxOperationService {
fromLocation = fromDepository.getDname() + " - "+oldPlace.getCode(); fromLocation = fromDepository.getDname() + " - "+oldPlace.getCode();
} }
// 获取对应盘点单位
String unit = minRecord.getUnit();
if("-1".equals(unit)){
unit = material.getUnit();
}
content.append(">- 物料名称:").append(material.getMname()).append("%n"); content.append(">- 物料名称:").append(material.getMname()).append("%n");
content.append(">- 盘点位置:").append(fromLocation).append("%n"); content.append(">- 盘点位置:").append(fromLocation).append("%n");
content.append(">- 原库存数量:").append(minRecord.getOldInventory()).append("%n"); content.append(">- 原库存数量:").append(minRecord.getOldInventory()).append("%n");
content.append(">- 盘点数量:").append(minRecord.getNewInventory()).append("%n"); content.append(">- 盘点数量:").append(minRecord.getNewInventory()).append("%n");
content.append(">- 盘点单位:").append(unit).append("%n");
content.append(">- 盈亏数量:").append(minRecord.getInventory()).append("%n"); content.append(">- 盈亏数量:").append(minRecord.getInventory()).append("%n");
content.append(">- 盘点结果:").append(takingResult).append("%n"); content.append(">- 盘点结果:").append(takingResult).append("%n");
content.append("%n---%n"); content.append("%n---%n");
} }
content.append(">## '''%n" + content.append(">## '''%n" + ">如需要查看详细信息,请点击:[查看信息](https://jy.hxgk.group/StockTakingView?id=").append(mainRecord.getId()).append(")");
">如需要查看详细信息,请点击:[查看信息](https://jy.hxgk.group/StockTakingView?id=" + mainRecord.getId() + ")");
markdown.put("content", content.toString()); markdown.put("content", content.toString());
markDown.setMarkdown(markdown); markDown.setMarkdown(markdown);
@ -1480,95 +1492,115 @@ public class QyWxOperationService {
approval_template_apply_data_contents_info.setId("Table-1668046309360"); approval_template_apply_data_contents_info.setId("Table-1668046309360");
// 定义明细列表 // 定义明细列表
List<Object> contents_detail = new ArrayList<>(); List<Object> contents_detail = new ArrayList<>();
for (int i = 0; i < minRecordList.size(); i++) { for (ApplicationOutRecordMin recordMin : minRecordList) {
// 获取明细信息 // 获取明细信息
ApplicationOutRecordMin recordMin = minRecordList.get(i);
// 获取当前出库物料 // 获取当前出库物料
Inventory materialById = materialMapper.findInventoryById(recordMin.getMid()); Inventory materialById = materialMapper.findInventoryById(recordMin.getMid());
// 获取当前物料所在仓库 // 获取当前物料所在仓库
Depository depositoryById = depositoryMapper.findDepositoryById(recordMin.getDepositoryId()); Depository depositoryById = depositoryMapper.findDepositoryById(recordMin.getDepositoryId());
Map<String,Object> detail_list = new HashMap<>(); Map<String, Object> detail_list = new HashMap<>();
// 定义明细种的控件列表 // 定义明细种的控件列表
List<Object> detail_list_control = new ArrayList<>(); List<Object> detail_list_control = new ArrayList<>();
// 物料名称 // 物料名称
Map<String,Object> detail_list_control_info_materialName = new HashMap<>(); Map<String, Object> detail_list_control_info_materialName = new HashMap<>();
detail_list_control_info_materialName.put("control","Text"); detail_list_control_info_materialName.put("control", "Text");
detail_list_control_info_materialName.put("id","Text-1668046310921"); detail_list_control_info_materialName.put("id", "Text-1668046310921");
Map<String,String> detail_list_control_info_title_materialName = new HashMap<>(); Map<String, String> detail_list_control_info_title_materialName = new HashMap<>();
detail_list_control_info_title_materialName.put("text","物料名称"); detail_list_control_info_title_materialName.put("text", "物料名称");
detail_list_control_info_title_materialName.put("lang","zh_CN"); detail_list_control_info_title_materialName.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_materialName = new ArrayList<>(); List<Object> detail_list_control_info_title_list_materialName = new ArrayList<>();
detail_list_control_info_title_list_materialName.add(detail_list_control_info_title_materialName); detail_list_control_info_title_list_materialName.add(detail_list_control_info_title_materialName);
detail_list_control_info_materialName.put("title",detail_list_control_info_title_list_materialName); detail_list_control_info_materialName.put("title", detail_list_control_info_title_list_materialName);
Map<String,String> detail_list_control_info_value_Mname = new HashMap<>(); Map<String, String> detail_list_control_info_value_Mname = new HashMap<>();
detail_list_control_info_value_Mname.put("text",materialById.getMname()); detail_list_control_info_value_Mname.put("text", materialById.getMname());
detail_list_control_info_materialName.put("value",detail_list_control_info_value_Mname); detail_list_control_info_materialName.put("value", detail_list_control_info_value_Mname);
// 物料编码 // 物料编码
Map<String,Object> detail_list_control_info_materialCode = new HashMap<>(); Map<String, Object> detail_list_control_info_materialCode = new HashMap<>();
detail_list_control_info_materialCode.put("control","Text"); detail_list_control_info_materialCode.put("control", "Text");
detail_list_control_info_materialCode.put("id","Text-1668046336721"); detail_list_control_info_materialCode.put("id", "Text-1668046336721");
Map<String,String> detail_list_control_info_title_materialCode = new HashMap<>(); Map<String, String> detail_list_control_info_title_materialCode = new HashMap<>();
detail_list_control_info_title_materialCode.put("text","物料编码"); detail_list_control_info_title_materialCode.put("text", "物料编码");
detail_list_control_info_title_materialCode.put("lang","zh_CN"); detail_list_control_info_title_materialCode.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_Code = new ArrayList<>(); List<Object> detail_list_control_info_title_list_Code = new ArrayList<>();
detail_list_control_info_title_list_Code.add(detail_list_control_info_title_materialCode); detail_list_control_info_title_list_Code.add(detail_list_control_info_title_materialCode);
detail_list_control_info_materialCode.put("title",detail_list_control_info_title_list_Code); detail_list_control_info_materialCode.put("title", detail_list_control_info_title_list_Code);
Map<String,String> detail_list_control_info_value_Code = new HashMap<>(); Map<String, String> detail_list_control_info_value_Code = new HashMap<>();
detail_list_control_info_value_Code.put("text",materialById.getCode()); detail_list_control_info_value_Code.put("text", materialById.getCode());
detail_list_control_info_materialCode.put("value",detail_list_control_info_value_Code); detail_list_control_info_materialCode.put("value", detail_list_control_info_value_Code);
// 请求数量 // 请求数量
Map<String,Object> detail_list_control_info_outNumber = new HashMap<>(); Map<String, Object> detail_list_control_info_outNumber = new HashMap<>();
detail_list_control_info_outNumber.put("control","Number"); detail_list_control_info_outNumber.put("control", "Number");
detail_list_control_info_outNumber.put("id","Number-1668051559772"); detail_list_control_info_outNumber.put("id", "Number-1668051559772");
Map<String,String> detail_list_control_info_title_outNumber = new HashMap<>(); Map<String, String> detail_list_control_info_title_outNumber = new HashMap<>();
detail_list_control_info_title_outNumber.put("text","数量"); detail_list_control_info_title_outNumber.put("text", "数量");
detail_list_control_info_title_outNumber.put("lang","zh_CN"); detail_list_control_info_title_outNumber.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_outNumber = new ArrayList<>(); List<Object> detail_list_control_info_title_list_outNumber = new ArrayList<>();
detail_list_control_info_title_list_outNumber.add(detail_list_control_info_title_outNumber); detail_list_control_info_title_list_outNumber.add(detail_list_control_info_title_outNumber);
detail_list_control_info_outNumber.put("title",detail_list_control_info_title_list_outNumber); detail_list_control_info_outNumber.put("title", detail_list_control_info_title_list_outNumber);
Map<String, String> detail_list_control_info_value_outNumber = new HashMap<>();
detail_list_control_info_value_outNumber.put("new_number", recordMin.getQuantity().toString() + materialById.getQuantity());
detail_list_control_info_outNumber.put("value", detail_list_control_info_value_outNumber);
// 请求单位
Map<String, Object> detail_list_control_info_unit = new HashMap<>();
detail_list_control_info_unit.put("control", "Text");
detail_list_control_info_unit.put("id", "Text-1672816068840");
Map<String, String> detail_list_control_info_title_unit = new HashMap<>();
detail_list_control_info_title_unit.put("text", "单位");
detail_list_control_info_title_unit.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_unit = new ArrayList<>();
detail_list_control_info_title_list_unit.add(detail_list_control_info_title_unit);
detail_list_control_info_unit.put("title", detail_list_control_info_title_list_unit);
Map<String, String> detail_list_control_info_value_unit = new HashMap<>();
// 定义出库单位
String unit = recordMin.getUnit();
if ("-1".equals(unit)) {
unit = materialById.getUnit();
}
detail_list_control_info_value_unit.put("text", unit);
detail_list_control_info_unit.put("value", detail_list_control_info_value_unit);
Map<String,String> detail_list_control_info_value_outNumber = new HashMap<>();
detail_list_control_info_value_outNumber.put("new_number",recordMin.getQuantity().toString() + materialById.getQuantity());
detail_list_control_info_outNumber.put("value",detail_list_control_info_value_outNumber);
// 物料名称 // 物料名称
Map<String,Object> detail_list_control_info_depositoryName = new HashMap<>(); Map<String, Object> detail_list_control_info_depositoryName = new HashMap<>();
detail_list_control_info_depositoryName.put("control","Text"); detail_list_control_info_depositoryName.put("control", "Text");
detail_list_control_info_depositoryName.put("id","Text-1668137728919"); detail_list_control_info_depositoryName.put("id", "Text-1668137728919");
Map<String,String> detail_list_control_info_title_depositoryName = new HashMap<>(); Map<String, String> detail_list_control_info_title_depositoryName = new HashMap<>();
detail_list_control_info_title_depositoryName.put("text","所在仓库"); detail_list_control_info_title_depositoryName.put("text", "所在仓库");
detail_list_control_info_title_depositoryName.put("lang","zh_CN"); detail_list_control_info_title_depositoryName.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_depositoryName = new ArrayList<>(); List<Object> detail_list_control_info_title_list_depositoryName = new ArrayList<>();
detail_list_control_info_title_list_depositoryName.add(detail_list_control_info_title_depositoryName); detail_list_control_info_title_list_depositoryName.add(detail_list_control_info_title_depositoryName);
detail_list_control_info_depositoryName.put("title",detail_list_control_info_title_list_depositoryName); detail_list_control_info_depositoryName.put("title", detail_list_control_info_title_list_depositoryName);
Map<String,String> detail_list_control_info_value_dname = new HashMap<>();
detail_list_control_info_value_dname.put("text",depositoryById.getDname());
detail_list_control_info_depositoryName.put("value",detail_list_control_info_value_dname);
Map<String, String> detail_list_control_info_value_dname = new HashMap<>();
detail_list_control_info_value_dname.put("text", depositoryById.getDname());
detail_list_control_info_depositoryName.put("value", detail_list_control_info_value_dname);
detail_list_control.add(detail_list_control_info_materialName); detail_list_control.add(detail_list_control_info_materialName);
detail_list_control.add(detail_list_control_info_materialCode); detail_list_control.add(detail_list_control_info_materialCode);
detail_list_control.add(detail_list_control_info_outNumber); detail_list_control.add(detail_list_control_info_outNumber);
detail_list_control.add(detail_list_control_info_depositoryName); detail_list_control.add(detail_list_control_info_depositoryName);
detail_list_control.add(detail_list_control_info_unit);
detail_list.put("list",detail_list_control); detail_list.put("list", detail_list_control);
contents_detail.add(detail_list); contents_detail.add(detail_list);
@ -1761,95 +1793,115 @@ public class QyWxOperationService {
approval_template_apply_data_contents_info.setId("Table-1668220735636"); approval_template_apply_data_contents_info.setId("Table-1668220735636");
// 定义明细列表 // 定义明细列表
List<Object> contents_detail = new ArrayList<>(); List<Object> contents_detail = new ArrayList<>();
for (int i = 0; i < minRecordList.size(); i++) { for (ApplicationOutRecordMin recordMin : minRecordList) {
// 获取明细信息 // 获取明细信息
ApplicationOutRecordMin recordMin = minRecordList.get(i);
// 获取当前出库物料 // 获取当前出库物料
Inventory materialById = materialMapper.findInventoryById(recordMin.getMid()); Inventory materialById = materialMapper.findInventoryById(recordMin.getMid());
// 获取当前物料所在仓库 // 获取当前物料所在仓库
Depository depositoryById = depositoryMapper.findDepositoryById(recordMin.getDepositoryId()); Depository depositoryById = depositoryMapper.findDepositoryById(recordMin.getDepositoryId());
Map<String,Object> detail_list = new HashMap<>(); Map<String, Object> detail_list = new HashMap<>();
// 定义明细种的控件列表 // 定义明细种的控件列表
List<Object> detail_list_control = new ArrayList<>(); List<Object> detail_list_control = new ArrayList<>();
// 物料名称 // 物料名称
Map<String,Object> detail_list_control_info_materialName = new HashMap<>(); Map<String, Object> detail_list_control_info_materialName = new HashMap<>();
detail_list_control_info_materialName.put("control","Text"); detail_list_control_info_materialName.put("control", "Text");
detail_list_control_info_materialName.put("id","Text-1668220747685"); detail_list_control_info_materialName.put("id", "Text-1668220747685");
Map<String,String> detail_list_control_info_title_materialName = new HashMap<>(); Map<String, String> detail_list_control_info_title_materialName = new HashMap<>();
detail_list_control_info_title_materialName.put("text","物料名称"); detail_list_control_info_title_materialName.put("text", "物料名称");
detail_list_control_info_title_materialName.put("lang","zh_CN"); detail_list_control_info_title_materialName.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_materialName = new ArrayList<>(); List<Object> detail_list_control_info_title_list_materialName = new ArrayList<>();
detail_list_control_info_title_list_materialName.add(detail_list_control_info_title_materialName); detail_list_control_info_title_list_materialName.add(detail_list_control_info_title_materialName);
detail_list_control_info_materialName.put("title",detail_list_control_info_title_list_materialName); detail_list_control_info_materialName.put("title", detail_list_control_info_title_list_materialName);
Map<String,String> detail_list_control_info_value_Mname = new HashMap<>(); Map<String, String> detail_list_control_info_value_Mname = new HashMap<>();
detail_list_control_info_value_Mname.put("text",materialById.getMname()); detail_list_control_info_value_Mname.put("text", materialById.getMname());
detail_list_control_info_materialName.put("value",detail_list_control_info_value_Mname); detail_list_control_info_materialName.put("value", detail_list_control_info_value_Mname);
// 物料编码 // 物料编码
Map<String,Object> detail_list_control_info_materialCode = new HashMap<>(); Map<String, Object> detail_list_control_info_materialCode = new HashMap<>();
detail_list_control_info_materialCode.put("control","Text"); detail_list_control_info_materialCode.put("control", "Text");
detail_list_control_info_materialCode.put("id","Text-1668220752173"); detail_list_control_info_materialCode.put("id", "Text-1668220752173");
Map<String,String> detail_list_control_info_title_materialCode = new HashMap<>(); Map<String, String> detail_list_control_info_title_materialCode = new HashMap<>();
detail_list_control_info_title_materialCode.put("text","物料编码"); detail_list_control_info_title_materialCode.put("text", "物料编码");
detail_list_control_info_title_materialCode.put("lang","zh_CN"); detail_list_control_info_title_materialCode.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_Code = new ArrayList<>(); List<Object> detail_list_control_info_title_list_Code = new ArrayList<>();
detail_list_control_info_title_list_Code.add(detail_list_control_info_title_materialCode); detail_list_control_info_title_list_Code.add(detail_list_control_info_title_materialCode);
detail_list_control_info_materialCode.put("title",detail_list_control_info_title_list_Code); detail_list_control_info_materialCode.put("title", detail_list_control_info_title_list_Code);
Map<String,String> detail_list_control_info_value_Code = new HashMap<>(); Map<String, String> detail_list_control_info_value_Code = new HashMap<>();
detail_list_control_info_value_Code.put("text",materialById.getCode()); detail_list_control_info_value_Code.put("text", materialById.getCode());
detail_list_control_info_materialCode.put("value",detail_list_control_info_value_Code); detail_list_control_info_materialCode.put("value", detail_list_control_info_value_Code);
// 请求数量 // 请求数量
Map<String,Object> detail_list_control_info_outNumber = new HashMap<>(); Map<String, Object> detail_list_control_info_outNumber = new HashMap<>();
detail_list_control_info_outNumber.put("control","Number"); detail_list_control_info_outNumber.put("control", "Number");
detail_list_control_info_outNumber.put("id","Number-1668220772222"); detail_list_control_info_outNumber.put("id", "Number-1668220772222");
Map<String,String> detail_list_control_info_title_outNumber = new HashMap<>(); Map<String, String> detail_list_control_info_title_outNumber = new HashMap<>();
detail_list_control_info_title_outNumber.put("text","数量"); detail_list_control_info_title_outNumber.put("text", "数量");
detail_list_control_info_title_outNumber.put("lang","zh_CN"); detail_list_control_info_title_outNumber.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_outNumber = new ArrayList<>(); List<Object> detail_list_control_info_title_list_outNumber = new ArrayList<>();
detail_list_control_info_title_list_outNumber.add(detail_list_control_info_title_outNumber); detail_list_control_info_title_list_outNumber.add(detail_list_control_info_title_outNumber);
detail_list_control_info_outNumber.put("title",detail_list_control_info_title_list_outNumber); detail_list_control_info_outNumber.put("title", detail_list_control_info_title_list_outNumber);
Map<String,String> detail_list_control_info_value_outNumber = new HashMap<>(); Map<String, String> detail_list_control_info_value_outNumber = new HashMap<>();
detail_list_control_info_value_outNumber.put("new_number",recordMin.getQuantity().toString()); detail_list_control_info_value_outNumber.put("new_number", recordMin.getQuantity().toString());
detail_list_control_info_outNumber.put("value",detail_list_control_info_value_outNumber); detail_list_control_info_outNumber.put("value", detail_list_control_info_value_outNumber);
// 请求单位
Map<String, Object> detail_list_control_info_unit = new HashMap<>();
detail_list_control_info_unit.put("control", "Text");
detail_list_control_info_unit.put("id", "Text-1672816711264");
Map<String, String> detail_list_control_info_title_unit = new HashMap<>();
detail_list_control_info_title_unit.put("text", "单位");
detail_list_control_info_title_unit.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_unit = new ArrayList<>();
detail_list_control_info_title_list_unit.add(detail_list_control_info_title_unit);
detail_list_control_info_unit.put("title", detail_list_control_info_title_list_unit);
Map<String, String> detail_list_control_info_value_unit = new HashMap<>();
// 定义出库单位
String unit = recordMin.getUnit();
if ("-1".equals(unit)) {
unit = materialById.getUnit();
}
detail_list_control_info_value_unit.put("text", unit);
detail_list_control_info_unit.put("value", detail_list_control_info_value_unit);
// 物料名称 // 物料名称
Map<String,Object> detail_list_control_info_depositoryName = new HashMap<>(); Map<String, Object> detail_list_control_info_depositoryName = new HashMap<>();
detail_list_control_info_depositoryName.put("control","Text"); detail_list_control_info_depositoryName.put("control", "Text");
detail_list_control_info_depositoryName.put("id","Text-1668220760317"); detail_list_control_info_depositoryName.put("id", "Text-1668220760317");
Map<String,String> detail_list_control_info_title_depositoryName = new HashMap<>(); Map<String, String> detail_list_control_info_title_depositoryName = new HashMap<>();
detail_list_control_info_title_depositoryName.put("text","所在仓库"); detail_list_control_info_title_depositoryName.put("text", "所在仓库");
detail_list_control_info_title_depositoryName.put("lang","zh_CN"); detail_list_control_info_title_depositoryName.put("lang", "zh_CN");
List<Object> detail_list_control_info_title_list_depositoryName = new ArrayList<>(); List<Object> detail_list_control_info_title_list_depositoryName = new ArrayList<>();
detail_list_control_info_title_list_depositoryName.add(detail_list_control_info_title_depositoryName); detail_list_control_info_title_list_depositoryName.add(detail_list_control_info_title_depositoryName);
detail_list_control_info_depositoryName.put("title",detail_list_control_info_title_list_depositoryName); detail_list_control_info_depositoryName.put("title", detail_list_control_info_title_list_depositoryName);
Map<String,String> detail_list_control_info_value_dname = new HashMap<>();
detail_list_control_info_value_dname.put("text",depositoryById.getDname());
detail_list_control_info_depositoryName.put("value",detail_list_control_info_value_dname);
Map<String, String> detail_list_control_info_value_dname = new HashMap<>();
detail_list_control_info_value_dname.put("text", depositoryById.getDname());
detail_list_control_info_depositoryName.put("value", detail_list_control_info_value_dname);
detail_list_control.add(detail_list_control_info_materialName); detail_list_control.add(detail_list_control_info_materialName);
detail_list_control.add(detail_list_control_info_materialCode); detail_list_control.add(detail_list_control_info_materialCode);
detail_list_control.add(detail_list_control_info_outNumber); detail_list_control.add(detail_list_control_info_outNumber);
detail_list_control.add(detail_list_control_info_depositoryName); detail_list_control.add(detail_list_control_info_depositoryName);
detail_list_control.add(detail_list_control_info_unit);
detail_list.put("list",detail_list_control); detail_list.put("list", detail_list_control);
contents_detail.add(detail_list); contents_detail.add(detail_list);
@ -2213,8 +2265,13 @@ public class QyWxOperationService {
detail_list_control_info_title_list_materialUnit.add(detail_list_control_info_title_materialUnit); detail_list_control_info_title_list_materialUnit.add(detail_list_control_info_title_materialUnit);
detail_list_control_info_materialUnit.put("title",detail_list_control_info_title_list_materialUnit); detail_list_control_info_materialUnit.put("title",detail_list_control_info_title_list_materialUnit);
// 获取盘点时的计量单位
String unit = minRecord.getUnit();
if("-1".equals(unit)){
unit = materialById.getUnit();
}
Map<String,String> detail_list_control_info_value_materialUnit = new HashMap<>(); Map<String,String> detail_list_control_info_value_materialUnit = new HashMap<>();
detail_list_control_info_value_materialUnit.put("text",materialById.getUnit()); detail_list_control_info_value_materialUnit.put("text",unit);
detail_list_control_info_materialUnit.put("value",detail_list_control_info_value_materialUnit); detail_list_control_info_materialUnit.put("value",detail_list_control_info_value_materialUnit);

2
src/main/resources/templates/pages/depository/table-in.html

@ -265,7 +265,7 @@
maxmin: true, maxmin: true,
shadeClose: true, shadeClose: true,
area: ['100%', '100%'], area: ['100%', '100%'],
content: '/form_step_look?id=' + data.id+'&flagForGroup='+data.flagForGroup, content: '/form_step_look?id=' + data.id,
}); });
$(window).on("resize", function () { $(window).on("resize", function () {
layer.full(index); layer.full(index);

40
src/main/resources/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html

@ -54,26 +54,26 @@
var barCode = null; var barCode = null;
layui.$(function () { layui.$(function () {
parent.parent.parent.wx.scanQRCode({ parent.parent.parent.wx.scanQRCode({
desc: 'scanQRCode desc', desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ["barCode", "qrCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 scanType: ["barCode", "qrCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
success: function (res) { success: function (res) {
// 回调 // 回调
var result = res.resultStr;//当needResult为1时返回处理结果 var result = res.resultStr;//当needResult为1时返回处理结果
var req = {}; var req = {};
req.qrCode = result; req.qrCode = result;
outboundLogic(req); outboundLogic(req);
}, },
error: function (res) { error: function (res) {
if (res.errMsg.indexOf('function_not_exist') > 0) { if (res.errMsg.indexOf('function_not_exist') > 0) {
alert('版本过低请升级') alert('版本过低请升级')
} }
} }
}); });
}); });

46
src/test/java/com/dreamchaser/depository_manage/TestForOther.java

@ -1,11 +1,13 @@
package com.dreamchaser.depository_manage; package com.dreamchaser.depository_manage;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.entity.Inventory; import com.dreamchaser.depository_manage.entity.Inventory;
import com.dreamchaser.depository_manage.entity.SplitInfo; import com.dreamchaser.depository_manage.entity.SplitInfo;
import com.dreamchaser.depository_manage.entity.SplitInventory; import com.dreamchaser.depository_manage.entity.SplitInventory;
import com.dreamchaser.depository_manage.mapper.MaterialMapper; import com.dreamchaser.depository_manage.mapper.MaterialMapper;
import com.dreamchaser.depository_manage.mapper.SplitUnitMapper; import com.dreamchaser.depository_manage.mapper.SplitUnitMapper;
import com.dreamchaser.depository_manage.service.SplitUnitService; import com.dreamchaser.depository_manage.service.SplitUnitService;
import com.dreamchaser.depository_manage.service.impl.QyWxOperationService;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -24,52 +26,14 @@ import java.util.Map;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
public class TestForOther { public class TestForOther {
@Autowired
SplitUnitService splitUnitService;
@Autowired @Autowired
SplitUnitMapper splitUnitMapper; QyWxOperationService qyWxOperationService;
@Autowired
MaterialMapper materialMapper;
@Test @Test
public void Test() throws IOException { public void Test() throws IOException {
SplitInfo splitInfoById = splitUnitMapper.findSplitInfoById(1); JSONObject approvalTemplateInfo = qyWxOperationService.getApprovalTemplateInfo("", "3WKiKVEcnH2dsARvP18hwkApF1Ku5dbNd7txbZCS");
int splitInfoScaleQuantity = findSplitInfoScaleQuantity(splitInfoById, -1); System.out.println(approvalTemplateInfo);
System.out.println(splitInfoScaleQuantity);
} }
/**
* 用于计算当前拆单单位与目标拆单单位之间的进率
*
* @param splitInfo 待查询拆单记录
* @param parentSplitInfoId 目标拆单单位
* @return
*/
public int findSplitInfoScaleQuantity(SplitInfo splitInfo, Integer parentSplitInfoId) {
int quantity = 1; // 定义进制
if (parentSplitInfoId != null && Integer.compare(-1, parentSplitInfoId) != 0) {
// 如果待查询的父级不是顶级
if (Integer.compare(splitInfo.getParentId(), parentSplitInfoId) == 0) {
// 如果当前拆单记录是目标拆单单位
quantity *= splitInfo.getQuantity();
return quantity;
} else {
SplitInfo splitInfoById = splitUnitMapper.findSplitInfoById(splitInfo.getParentId());
return quantity * findSplitInfoScaleQuantity(splitInfoById, parentSplitInfoId);
}
} else {
quantity *= splitInfo.getQuantity();
if (splitInfo.getParentId() != null) {
SplitInfo splitInfoById = splitUnitMapper.findSplitInfoById(splitInfo.getParentId());
return quantity * findSplitInfoScaleQuantity(splitInfoById, parentSplitInfoId);
} else {
return quantity;
}
}
}
} }

1
target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml

@ -25,6 +25,7 @@
<result column="productionPlace" property="productionPlace" jdbcType="VARCHAR"/> <result column="productionPlace" property="productionPlace" jdbcType="VARCHAR"/>
<result column="brand" property="brand" jdbcType="VARCHAR"/> <result column="brand" property="brand" jdbcType="VARCHAR"/>
<result column="remark" property="remark" jdbcType="VARCHAR"/> <result column="remark" property="remark" jdbcType="VARCHAR"/>
<result column="tname" property="typeName" jdbcType="VARCHAR"/>
</resultMap> </resultMap>

2
target/classes/templates/pages/depository/table-in.html

@ -265,7 +265,7 @@
maxmin: true, maxmin: true,
shadeClose: true, shadeClose: true,
area: ['100%', '100%'], area: ['100%', '100%'],
content: '/form_step_look?id=' + data.id+'&flagForGroup='+data.flagForGroup, content: '/form_step_look?id=' + data.id,
}); });
$(window).on("resize", function () { $(window).on("resize", function () {
layer.full(index); layer.full(index);

40
target/classes/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html

@ -54,26 +54,26 @@
var barCode = null; var barCode = null;
layui.$(function () { layui.$(function () {
parent.parent.parent.wx.scanQRCode({ parent.parent.parent.wx.scanQRCode({
desc: 'scanQRCode desc', desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ["barCode", "qrCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 scanType: ["barCode", "qrCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
success: function (res) { success: function (res) {
// 回调 // 回调
var result = res.resultStr;//当needResult为1时返回处理结果 var result = res.resultStr;//当needResult为1时返回处理结果
var req = {}; var req = {};
req.qrCode = result; req.qrCode = result;
outboundLogic(req); outboundLogic(req);
}, },
error: function (res) { error: function (res) {
if (res.errMsg.indexOf('function_not_exist') > 0) { if (res.errMsg.indexOf('function_not_exist') > 0) {
alert('版本过低请升级') alert('版本过低请升级')
} }
} }
}); });
}); });

244
target/classes/templates/pages/split/split_add.html

@ -34,10 +34,14 @@
padding-right: 0px; padding-right: 0px;
} }
.layui-form-select{ .layui-form-select {
width: 100%; width: 100%;
} }
.layui-unselect {
border-right: none
}
</style> </style>
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
@ -86,10 +90,10 @@
<label class="layui-form-label">条形编码:</label> <label class="layui-form-label">条形编码:</label>
<div class="layui-input-block" style="margin: 0px;"> <div class="layui-input-block" style="margin: 0px;">
<div class="inputdiv"> <div class="inputdiv">
<input id="barCode" name="barCode" type="text" readonly <select id="barCode" name="barCode" type="text" readonly
value="" class="layui-input"
class="layui-input" style="border-style: none;">
style="border-style: none"> </select>
<img src="/static/images/search.ico" height="16" width="16" <img src="/static/images/search.ico" height="16" width="16"
id="barCodeImg" id="barCodeImg"
style="margin-top: 10px" onclick="scanBarCode(this)"> style="margin-top: 10px" onclick="scanBarCode(this)">
@ -149,13 +153,13 @@
</button> </button>
</div> </div>
</div> </div>
</form> </form>
</div>
</div> </div>
</div> </div>
</div> </div>
</fieldset>
</div> </div>
</fieldset>
</div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
@ -188,28 +192,28 @@
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data = data.field; data = data.field;
$.ajax({ $.ajax({
url:"/split/splitAdd", url: "/split/splitAdd",
data:JSON.stringify(data), data: JSON.stringify(data),
dataType:"json", dataType: "json",
type:"post", type: "post",
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
success:function (res) { success: function (res) {
layer.close(this.layerIndex); layer.close(this.layerIndex);
if (data.status >= 300) { if (data.status >= 300) {
layer.msg(data.statusInfo.detail,{ layer.msg(data.statusInfo.detail, {
icon:6, icon: 6,
time:1000 time: 1000
},function () { }, function () {
window.location="/split_add" window.location = "/split_add"
});//失败的表情 });//失败的表情
} else { } else {
layer.msg("添加成功!", { layer.msg("添加成功!", {
icon: 6,//成功的表情 icon: 6,//成功的表情
time: 1000 time: 1000
}, //1秒关闭(如果不配置,默认是3秒) }, //1秒关闭(如果不配置,默认是3秒)
function(){ function () {
//do something //do something
window.location="/split_add" window.location = "/split_add"
}); });
} }
} }
@ -220,7 +224,7 @@
// 通过名称查询物料 // 通过名称查询物料
selectMaterialByName = function (obj) { selectMaterialByName = function (obj) {
let materialName = $("#mname"); let materialName = $("#mname");
var data = materialName.val(); var data = materialName.val().split(",")[0];
var req = {}; var req = {};
req.mname = data; req.mname = data;
let materialId = $("#mid"); let materialId = $("#mid");
@ -259,10 +263,10 @@
codeValue.val(material.code); codeValue.val(material.code);
version.val(material.version); version.val(material.version);
typeName.val(material.typeName); typeName.val(material.typeName);
unit.empty();
unit.append(new Option(material.unit,material.unit)); unit.append(new Option(material.unit, material.unit));
var splitInfoList = material["splitInfoList"]; var splitInfoList = material["splitInfoList"];
$.each(splitInfoList,function (index,item) { $.each(splitInfoList, function (index, item) {
$("#unit").append(new Option(item.newUnit, item.newUnit));//往下拉菜单里添加元素 $("#unit").append(new Option(item.newUnit, item.newUnit));//往下拉菜单里添加元素
}); });
form.render(); form.render();
@ -271,21 +275,13 @@
if (materialAndBarCodeList !== null && materialAndBarCodeList.length > 0) { if (materialAndBarCodeList !== null && materialAndBarCodeList.length > 0) {
// 如果有对应的条形码 // 如果有对应的条形码
$("#barCode").remove(); $("#barCode").empty();
var barCodeSelect = `
<select id="barCode" name= "barCode"></select>`;
$("#barCodeImg").before(barCodeSelect);
form.render();
$.each(materialAndBarCodeList, function (index, item) { $.each(materialAndBarCodeList, function (index, item) {
$("#barCode").append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素 $("#barCode").append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素
}); });
form.render(); form.render();
}else{ } else {
let children = $("#barCode").parent().children(); $("#barCode").empty();
if(children.length > 2){
$("#barCode").empty();
$(children[1]).empty();
}
} }
} }
} }
@ -329,10 +325,12 @@
} }
$("#code").val(code); $("#code").val(code);
$("#version").val(material.version); $("#version").val(material.version);
$("#unit").append(new Option(material.unit,material.unit)); let unit = $("#unit");
unit.empty();
unit.append(new Option(material.unit, material.unit));
var splitInfoList = material["splitInfoList"]; var splitInfoList = material["splitInfoList"];
$.each(splitInfoList,function (index,item) { $.each(splitInfoList, function (index, item) {
$("#unit").append(new Option(item.newUnit, item.newUnit));//往下拉菜单里添加元素 unit.append(new Option(item.newUnit, item.newUnit));//往下拉菜单里添加元素
}); });
form.render(); form.render();
$("#typeName").val(material.typeName); $("#typeName").val(material.typeName);
@ -340,21 +338,14 @@
if (materialAndBarCodeList !== null && materialAndBarCodeList.length > 0) { if (materialAndBarCodeList !== null && materialAndBarCodeList.length > 0) {
// 如果有对应的条形码 // 如果有对应的条形码
$("#barCode").remove(); $("#barCode").empty()
var barCodeSelect = `
<select id="barCode" name= "barCode"></select>`;
$("#barCodeImg").before(barCodeSelect);
form.render();
$.each(materialAndBarCodeList, function (index, item) { $.each(materialAndBarCodeList, function (index, item) {
$("#barCode").append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素 $("#barCode").append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素
}); });
form.render(); form.render();
}else{ } else {
let children = $("#barCode").parent().children();
if(children.length > 2){ $("#barCode").empty();
$("#barCode").empty();
$(children[1]).empty();
}
} }
} }
}); });
@ -365,8 +356,7 @@
}); });
}; };
scanCodeInStorage = function (obj) { scanCode = function (obj) {
var objIdNumber = obj.id.split("qrCodeImg")[1];
parent.wx.scanQRCode({ parent.wx.scanQRCode({
desc: 'scanQRCode desc', desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
@ -376,7 +366,6 @@
var result = res.resultStr;//当needResult为1时返回处理结果 var result = res.resultStr;//当needResult为1时返回处理结果
var req = {}; var req = {};
req.qrCode = result; req.qrCode = result;
$("#qrCode" + objIdNumber).val(result);
$.ajax({ $.ajax({
url: "/material/qywxApplicationInScanQrCode", url: "/material/qywxApplicationInScanQrCode",
type: "post", type: "post",
@ -384,7 +373,56 @@
data: JSON.stringify(req), data: JSON.stringify(req),
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
success: function (d) { success: function (d) {
var data = d.data;
if (data === null) {
// 如果没有对应关系
layer.msg("对于编码:" + result + ",并未发现对应的物料", {
icon: 0,
time: 1000 //0.5秒关闭(如果不配置,默认是3秒)
}, function () {
$("#mname").val("");
$("#code").val("");
$("#mid").val("");
$("#typeName").val("");
$("#version").val("");
$("#barCode").empty();
$("#unit").empty();
})
} else {
// 如果有对应关系
$("#mname").val(data.mname);
$("#mid").val(data.mid);
$("#code").val(data.code);
$("#version").val(data.version);
$("#typeName").val(data.typeName);
let barCode = $("#barCode");
barCode.empty();
var materialAndBarCodeList = data["materialAndBarCodeList"];
if (materialAndBarCodeList.length > 0) {
// 如果有对应的条形码
$.each(materialAndBarCodeList, function (index, item) {
barCode.append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素
});
form.render();
}
var shelfLife = data.shelfLife;
if (shelfLife !== null && shelfLife !== undefined) {
$("#producedDateItem").show();
$("#producedDate").attr("lay-verify", "required");
} else {
$("#producedDateItem").hide();
form.render();
}
var unit = $("#unit");
unit.empty();
unit.append(new Option(data.unit, "-1"));
var unitList = data["splitInfoList"];
for (let i = 0; i < unitList.length; i++) {
unit.append(new Option(unitList[i].newUnit, unitList[i].newUnit));
}
form.render();
}
} }
}) })
@ -394,34 +432,70 @@
scanBarCode = function (obj) { scanBarCode = function (obj) {
parent.wx.scanQRCode({ parent.wx.scanQRCode({
desc: 'scanQRCode desc', desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ["barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 scanType: ["barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
success: function (res) { success: function (res) {
// 回调 // 回调
var result = res.resultStr;//当needResult为1时返回处理结果 var result = res.resultStr;//当needResult为1时返回处理结果
var req = {}; var req = {};
req.qrCode = result; req.qrCode = result;
$.ajax({ let barCode = $("#barCode");
url: "/material/qywxApplicationInScanBarCode", barCode.empty();
type: "post", barCode.append(new Option(result, result));
dataType: 'json', $.ajax({
data: JSON.stringify(req), url: "/material/qywxApplicationInScanBarCode",
contentType: "application/json;charset=utf-8", type: "post",
success: function (d) { dataType: 'json',
data: JSON.stringify(req),
} contentType: "application/json;charset=utf-8",
}) success: function (d) {
let material = d.data.material;
}, let unit = $("#unit");
error: function (res) { if (material !== null) {
if (res.errMsg.indexOf('function_not_exist') > 0) { $("#mname").val(material.mname);
alert('版本过低请升级') $("#code").val(material.mcode);
} $("#mid").val(material.mid);
alert(res) $("#typeName").val(material.tname);
$("#version").val(material.version);
} unit.empty();
}); unit.append(new Option(material.unit, material.unit));
let splitInfoList = material.splitInfoList;
if (splitInfoList !== null && splitInfoList.length > 0) {
$.each(splitInfoList, function (index, item) {
unit.append(new Option(item.newUnit, item.newUnit));//往下拉菜单里添加元素
});
}
form.render();
} else {
layer.msg("对于编码:" + result + ",并未发现对应的物料", {
icon: 0,
time: 1000 //0.5秒关闭(如果不配置,默认是3秒)
}, function () {
$("#mname").val("");
$("#code").val("");
$("#mid").val("");
$("#typeName").val("");
$("#version").val("");
unit.empty();
$("#barCode").empty();
})
}
}
})
},
error: function (res) {
if (res.errMsg.indexOf('function_not_exist') > 0) {
alert('版本过低请升级')
}
alert(res)
}
});
}; };
// 用于实现通过编码查询物料 // 用于实现通过编码查询物料
@ -452,12 +526,12 @@
} else { } else {
$("#mname").val(d.mname); $("#mname").val(d.mname);
$("#mid").val( d.mid); $("#mid").val(d.mid);
$("#version").val(d.version); $("#version").val(d.version);
$("#unit").empty(); $("#unit").empty();
$('#unit').append(new Option(d.unit,d.unit)); $('#unit').append(new Option(d.unit, d.unit));
var splitInfoList = d["splitInfoList"]; var splitInfoList = d["splitInfoList"];
$.each(splitInfoList,function (index,item) { $.each(splitInfoList, function (index, item) {
$("#unit").append(new Option(item.newUnit, item.newUnit));//往下拉菜单里添加元素 $("#unit").append(new Option(item.newUnit, item.newUnit));//往下拉菜单里添加元素
}); });
form.render(); form.render();
@ -480,7 +554,7 @@
form.render(); form.render();
} else { } else {
let children = $("#barCode").parent().children(); let children = $("#barCode").parent().children();
if(children.length > 2){ if (children.length > 2) {
$("#barCode").empty(); $("#barCode").empty();
$(children[1]).empty(); $(children[1]).empty();
} }

Loading…
Cancel
Save