rev:修改打印信息

This commit is contained in:
2026-03-19 16:58:20 +08:00
parent ad7fc0a2d8
commit ea3710441f
20 changed files with 282 additions and 14 deletions

View File

@@ -15,6 +15,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
@@ -69,5 +71,11 @@ public class MaterialbaseController {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("导出数据")
@GetMapping(value = "/download")
public void download(@RequestParam Map map, HttpServletResponse response, String[] product_area) throws IOException {
iMdMeMaterialbaseService.download(map, response, product_area);
}
}

View File

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
@@ -65,4 +67,7 @@ public interface IMdMeMaterialbaseService extends IService<MdMeMaterialbase> {
* @return 返回结果
*/
MdMeMaterialbase getByCode(String material_code);
void download(Map map, HttpServletResponse response, String[] product_area) throws IOException;
}

View File

@@ -202,5 +202,10 @@ public class MdMeMaterialbase implements Serializable {
*/
private String produce_name;
/**
* 储存条件
*/
private String storage_conditions;
}

View File

@@ -30,6 +30,14 @@ public interface MdMeMaterialbaseMapper extends BaseMapper<MdMeMaterialbase> {
*/
IPage<JSONObject> queryAllByPage(Page<JSONObject> page, @Param("param") Map whereJson);
/**
* 导出查询
*
* @param whereJson 查询条件
* @return IPage<JSONObject>
*/
List<JSONObject> queryAllDownload(@Param("param") Map whereJson);
/**
* 手持公共接口服务类 -> 查询物料信息
* @param whereJson {

View File

@@ -22,6 +22,26 @@
ORDER BY mater.update_time Desc
</select>
<select id="queryAllDownload" resultType="com.alibaba.fastjson.JSONObject">
SELECT
mater.*,
class.class_name,
supp.supp_name
FROM
md_me_materialbase mater
LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id
LEFT JOIN md_cs_supplierbase supp ON supp.supp_code = mater.supp_code
<where>
1 = 1
<if test="param.search != null and param.search != ''">
AND
(mater.material_code LIKE #{param.search} or
mater.material_name LIKE #{param.search})
</if>
</where>
ORDER BY mater.update_time Desc
</select>
<select id="queryPdaMaterInfo" resultType="com.alibaba.fastjson.JSONObject">
SELECT
mater.*,

View File

@@ -34,4 +34,14 @@ public interface MdPdGroupbucketMapper extends BaseMapper<MdPdGroupbucket> {
IPage<JSONObject> queryAllByPage(Page<JSONObject> page, @Param("param") Map whereJson);
List<JSONObject> getBucketGroupInfo(JSONObject param);
/**
* 手持:
* 物料组桶-根据扫桶码获取组桶信息
* @param whereJson {
* "bucket_code" 桶码
* }
* @return List<JSONObject>
*/
List<JSONObject> queryBuckInfo(@Param("param") JSONObject whereJson);
}

View File

@@ -87,4 +87,21 @@
AND mg.pcsn = #{pcsn}
</if>
</select>
<select id="queryBuckInfo" resultType="com.alibaba.fastjson.JSONObject">
SELECT
mg.*,
m.material_code,
m.material_name,
class.class_name
FROM
md_pd_groupbucket mg
LEFT JOIN md_me_materialbase m ON m.material_id = mg.material_id
LEFT JOIN md_pb_classstandard class ON class.class_id = m.material_type_id
WHERE
1 = 1
<if test="param.bucket_code != null and param.bucket_code != ''">
AND mg.bucket_code = #{param.bucket_code}
</if>
</select>
</mapper>

View File

@@ -3,24 +3,26 @@ package org.nl.wms.basedata_manage.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.FileUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.system.service.logging.dao.SysLog;
import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService;
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
import org.nl.wms.basedata_manage.service.dao.mapper.MdMeMaterialbaseMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -134,4 +136,23 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMap
}
return one;
}
@Override
public void download(Map map, HttpServletResponse response, String[] product_area) throws IOException {
List<JSONObject> dataList = this.baseMapper.queryAllDownload(map);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 0; i < dataList.size(); i++) {
JSONObject json = dataList.get(i);
Map<String, Object> mp = new LinkedHashMap<>();
mp.put("物料编码", json.getString("material_code"));
mp.put("物料名称", json.getString("material_name"));
mp.put("质量代码", json.getString("quality_code"));
mp.put("供应商名称", json.getString("supp_name"));
mp.put("生产商名称", json.getString("produce_name"));
mp.put("物料分类", json.getString("class_name"));
mp.put("储存条件", json.getString("storage_conditions"));
list.add(mp);
}
FileUtil.downloadExcel(list, response);
}
}

View File

@@ -21,6 +21,7 @@ import javax.validation.Valid;
/**
* 空载具管理
*
* @Author: lyd
* @Date: 2025/11/24
*/
@@ -32,72 +33,98 @@ public class PdaCommonController {
@Resource
private PdaCommonService pdaCommonService;
@PostMapping("/callEmptyVehicle")
@Log("空载具出库-呼叫出库")
@SaIgnore
public ResponseEntity<Object> callEmptyVehicle(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.callEmptyVehicle(whereJson), HttpStatus.OK);
}
@PostMapping("/getSectList")
@Log("空载具出库-库区下拉框")
@SaIgnore
public ResponseEntity<Object> getSectList(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.getSectList(whereJson), HttpStatus.OK);
}
@PostMapping("/inEmptyVehicle")
@Log("空载具入库-呼叫入库")
@SaIgnore
public ResponseEntity<Object> inEmptyVehicle(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.inEmptyVehicle(whereJson), HttpStatus.OK);
}
@PostMapping("/queryPointDtl")
@Log("空载具堆叠-查询点位堆叠明细")
@SaIgnore
public ResponseEntity<Object> queryPointDtl() {
return new ResponseEntity<>(pdaCommonService.queryPointDtl(), HttpStatus.OK);
}
@PostMapping("/callStackPlates")
@Log("空载具堆叠-呼叫堆叠")
@SaIgnore
public ResponseEntity<Object> callStackPlates(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.callStackPlates(whereJson), HttpStatus.OK);
}
@PostMapping("/queryRecordNo")
@Log("物料组袋-查询证书编号")
@SaIgnore
public ResponseEntity<Object> queryRecordNo(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.queryRecordNo(whereJson), HttpStatus.OK);
}
@PostMapping("/queryBagInfo")
@Log("物料组袋-根据袋码查询组袋信息")
@SaIgnore
public ResponseEntity<Object> queryBagInfo(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.queryBagInfo(whereJson), HttpStatus.OK);
}
@PostMapping("/byBagCodeInfo")
@Log("物料组袋-获取袋号")
@SaIgnore
public ResponseEntity<Object> byBagCodeInfo(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.byBagCodeInfo(whereJson), HttpStatus.OK);
}
@PostMapping("/confirmBagAssembly")
@Log("物料组袋-确认组袋")
@SaIgnore
public ResponseEntity<Object> confirmBagAssembly(@RequestBody @Valid AssemblyBagParam param) {
return new ResponseEntity<>(pdaCommonService.confirmBagAssembly(param), HttpStatus.OK);
}
@PostMapping("/getBagAssembly")
@Log("物料组盘-获取组袋信息")
@SaIgnore
public ResponseEntity<Object> getBagAssembly(@RequestBody JSONObject param) {
return new ResponseEntity<>(pdaCommonService.getBagAssembly(param), HttpStatus.OK);
}
@PostMapping("/confirmPalletAssembly")
@Log("物料组盘-组盘")
@SaIgnore
public ResponseEntity<Object> confirmPalletAssembly(@RequestBody @Valid AssemblyPalletParam param) {
return new ResponseEntity<>(pdaCommonService.confirmPalletAssembly(param), HttpStatus.OK);
}
@PostMapping("/queryRecordNoBucked")
@Log("物料组桶-查询证书编号")
@SaIgnore
public ResponseEntity<Object> queryRecordNoBucked(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.queryRecordNo(whereJson), HttpStatus.OK);
}
@PostMapping("/queryBuckInfo")
@Log("物料组桶-根据扫桶码获取组桶信息")
@SaIgnore
public ResponseEntity<Object> queryBuckInfo(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaCommonService.queryBuckInfo(whereJson), HttpStatus.OK);
}
@PostMapping("/confirmBucketAssembly")
@Log("物料组桶-组桶")
@SaIgnore

View File

@@ -17,6 +17,7 @@ public interface PdaCommonService {
/**
* 确认组袋
*
* @param param
* @return
*/
@@ -24,6 +25,7 @@ public interface PdaCommonService {
/**
* 获取组袋信息
*
* @param param
* @return
*/
@@ -31,6 +33,7 @@ public interface PdaCommonService {
/**
* 吨袋组盘
*
* @param param
* @return
*/
@@ -38,6 +41,7 @@ public interface PdaCommonService {
/**
* 空托盘入库
*
* @param param
* @return
*/
@@ -47,35 +51,59 @@ public interface PdaCommonService {
/**
* 空载具堆叠-查询点位堆叠明细
*
* @return PdaResponse
*/
PdaResponse queryPointDtl();
/**
* 空载具堆叠-呼叫堆叠
*
* @param whereJson {
* point_code: 载具点位
* row: {明细}
* }
* }
* @return PdaResponse
*/
PdaResponse callStackPlates(JSONObject whereJson);
/**
* 物料组袋-查询证书编号
* @param whereJson {
*
* }
* @param whereJson {
* <p>
* }
* @return PdaResponse
*/
PdaResponse queryRecordNo(JSONObject whereJson);
/**
* 物料组袋-获取袋号
*
* @param whereJson {
* material_id: 物料标识
* }
* }
* @return PdaResponse
*/
PdaResponse byBagCodeInfo(JSONObject whereJson);
/**
* 物料组袋-根据袋码查询组袋信息
*
* @param whereJson {
* "bagNo" 袋码
* }
* @return PdaResponse
*/
PdaResponse queryBagInfo(JSONObject whereJson);
/**
* 物料组桶-根据扫桶码获取组桶信息
*
* @param whereJson {
* "bucket_code" 桶码
* }
* @return PdaResponse
*/
PdaResponse queryBuckInfo(JSONObject whereJson);
}

View File

@@ -23,6 +23,7 @@ public class AssemblyBagParam {
@NotBlank(message = "物料不能为空")
private String materialId;
private String suppCode;
private String validity_period;
@NotBlank(message = "批次号不能为空")
private String pcsn;
@NotNull(message = "数量不能为空")
@@ -37,6 +38,7 @@ public class AssemblyBagParam {
groupPlate.setMaterial_id(param.materialId);
groupPlate.setStatus("0");
groupPlate.setSupp_code(param.suppCode);
groupPlate.setValidity_period(param.validity_period);
groupPlate.setQty_unit_id("1585604695483879424");
groupPlate.setQty_unit_name("千克");
groupPlate.setCreate_id(SecurityUtils.getCurrentUserId());

View File

@@ -11,16 +11,15 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.system.service.dict.ISysDictService;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService;
import org.nl.wms.basedata_manage.service.IStructattrService;
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
import org.nl.wms.basedata_manage.service.dao.MdPdGroupbucket;
import org.nl.wms.basedata_manage.service.dao.Structattr;
import org.nl.wms.basedata_manage.service.dao.mapper.MdPdGroupbucketMapper;
import org.nl.wms.pda.general_management.service.PdaCommonService;
import org.nl.wms.pda.general_management.service.dto.AssemblyBagParam;
import org.nl.wms.pda.general_management.service.dto.AssemblyBucketParam;
@@ -49,7 +48,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -88,6 +86,8 @@ public class PdaCommonServiceImpl implements PdaCommonService {
private IMdPbStoragevehicleinfoService storagevehicleinfoService;
@Resource
private IMdPdGroupbucketService groupbucketService;
@Resource
private MdPdGroupbucketMapper mdPdGroupbucketMapper;
/**
* 点位服务类
@@ -337,4 +337,24 @@ public class PdaCommonServiceImpl implements PdaCommonService {
result.put("bag_code", bag_code);
return PdaResponse.requestParamOk(result);
}
@Override
public PdaResponse queryBagInfo(JSONObject whereJson) {
JSONObject json = new JSONObject();
List<JSONObject> list = mdPbGroupplateMapper.queryBagInfo(whereJson);
if (ObjectUtil.isNotEmpty(list)) {
json = list.get(0);
}
return PdaResponse.requestParamOk(json);
}
@Override
public PdaResponse queryBuckInfo(JSONObject whereJson) {
JSONObject json = new JSONObject();
List<JSONObject> list = mdPdGroupbucketMapper.queryBuckInfo(whereJson);
if (ObjectUtil.isNotEmpty(list)) {
json = list.get(0);
}
return PdaResponse.requestParamOk(json);
}
}

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.nl.common.exception.BadRequestException;
import org.nl.config.SpringContextHolder;
import org.nl.system.enums.SysParamConstant;
@@ -20,6 +21,8 @@ import org.nl.wms.pda.util.PdaResponse;
import org.nl.wms.pdm_management.service.IMdPdmMaterialcarService;
import org.nl.wms.pdm_management.service.dao.MdPdmMaterialcar;
import org.nl.wms.warehouse_management.enums.IOSEnum;
import org.nl.wms.warehouse_management.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_management.service.dao.GroupPlate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -85,6 +88,16 @@ public class PdaPrintServiceImpl implements PdaPrintService {
String qty = NumberUtil.round(row.getString("qty"), 2).toString();
// 袋码
String bag_code = row.getString("bag_code");
// 有效期
String validity_period = row.getString("validity_period");
if (ObjectUtil.isEmpty(validity_period)) {
validity_period = "";
}
// 储存条件
String storage_conditions = materDao.getStorage_conditions();
if (ObjectUtil.isEmpty(storage_conditions)) {
storage_conditions = "";
}
// 插入打印记录
if (ObjectUtil.isEmpty(whereJson.getString("id"))) {
MdPdmMaterialcar mdPdmMaterialcar = new MdPdmMaterialcar();
@@ -94,6 +107,8 @@ public class PdaPrintServiceImpl implements PdaPrintService {
mdPdmMaterialcar.setPcsn(row.getString("pcsn"));
mdPdmMaterialcar.setQty(row.getBigDecimal("qty"));
mdPdmMaterialcar.setSupp_name(supp_name);
mdPdmMaterialcar.setStorage_conditions(storage_conditions);
mdPdmMaterialcar.setValidity_period(validity_period);
mdPdmMaterialcar.setPrint_id(print_id);
mdPdmMaterialcar.setVehicle_type(IOSEnum.PRINT_VEHICLE_TYPE.code("托盘"));
iMdPdmMaterialcarService.create(mdPdmMaterialcar);
@@ -193,6 +208,8 @@ public class PdaPrintServiceImpl implements PdaPrintService {
"^FO587,124^GFA,237,285,15,:Z64:eJx9zjEOgkAQBdAxmyzNZG2/CZErUG7lWXZvwAkMhsJDeBiHUNh5hqWxho6CwkG0sGG6l5+ZP0RmEIl3Y22WEoicTxLHxlqugpI5SGyVQIUjMZUS625h+eNFU4IHk6PDlwzdNVJIvOrlYs6VVDmJsxI5LwRLXy/ESkivuw7YT9qLsu2bxrnce00tQpce5nZyn6/MkJ7hvBtfWQraqyO0TtCvtkgb9P8spjeReTug:A02F\n" +
"^FT530,623^A1I,23,25^FH\\^CI28^FD"+supp_name+"^FS^CI27\n" +
"^FT499,572^A1I,23,25^FH\\^CI28^FD"+produce_name+"^FS^CI27\n" +
"^FT629,665^A1I,23,25^FH\\^CI28^FD"+validity_period+"^FS^CI27\n" +
"^FT639,207^A1I,23,25^FH\\^CI28^FD"+storage_conditions+"^FS^CI27\n" +
"^PQ1,0,1,Y\n" +
"^XZ\n";
} else {
@@ -278,6 +295,8 @@ public class PdaPrintServiceImpl implements PdaPrintService {
"^FO686,268^GFA,301,324,12,:Z64:eJxF0LFqwzAQxvG/MFhLKq8ZRP0KGV0amlfRI3gMpC3K0uc68Bo6d1TIkKWDuhla6p6ioQdCPz5OoDsoFbrc3oBsgpm31SkFthmeYPyaAr0EdhE5vCXsUejExN6rp0gjDW44x/YKJln8eMHpQ7LDpyv+Wb33PMg7/Yd6WHOIJ73VfuBx0XCtdiP2e6ab1e2I22RcyZvEfcisik3Ci559sXAnv/RztVk096VfaH4E/xLV0SwIu6nkkaxeWbWNZeLbgMVW3X3WHhuFV1/3YI+p/rNuRefgvzT/A0TbSR0=:0A13\n" +
"^FO547,272^GFA,241,304,16,:Z64:eJx1zrENwjAQBdA7WbprTGhTIGYwJdsQsUAmiHyyZFcwAcPEoqCCmg1YIUUkY5sGkPK7V/yvD4AyMcNMCoYGLQC6DTOeie2Nqj0xK0UsEtBui1cnV+2qbbZVpEd0YnW2ykavR4hS+iHpu0texxRj3eP2eVW+7WQsVp6KKdv+O2VzaEx/DGR2V1f21u5i+u5Bxrzqv71Mpj/M2UO2hq9Q+bfg5mNYcomSX2OybxJKQig=:5CD7\n" +
"^FO582,213^GFA,237,285,15,:Z64:eJx9zjEOgkAQBdAxmyzNZG2/CZErUG7lWXZvwAkMhsJDeBiHUNh5hqWxho6CwkG0sGG6l5+ZP0RmEIl3Y22WEoicTxLHxlqugpI5SGyVQIUjMZUS625h+eNFU4IHk6PDlwzdNVJIvOrlYs6VVDmJsxI5LwRLXy/ESkivuw7YT9qLsu2bxrnce00tQpce5nZyn6/MkJ7hvBtfWQraqyO0TtCvtkgb9P8spjeReTug:A02F\n" +
"^FO145,453^GFA,565,726,33,:Z64:eJx10jFLAzEUAOAXAi9L2qwRT/0LAZcWxPsrEaGTQ0cne+DaH1An/8KBIA4OJ8K5BOduRg6cHOoiFcrFl7ur2oK5G0Luy3svlwfQDAug25mBrSHpIYBwDAiIaFgoAOj1zYe4ESOQYKTKEgI8ezo/qY74ZQcM8Ag0AUKiNsPsOa0+FSKBNAQYTy4zAqYBliIMM7dbleI65o51+YQVP6AgsDebq9OS3cy6FGuABB4yxEPU896bg+quA0USS7ZWhGkDPiEp+iMHrznImIER8BGgUfLxTYXbeNqRY68e/4KJjyke3/fFEYKOYOFFWG5G0LI8S3v3tI6jFcs3I4BNw1KWA/G1xGJOEbjZBvtmLEsN/hyrmSAwWGwBNAvpDHzc4YXmBIazFrTHTAOVlMuXBbvKsU9ghTvTtsj2R2kq8sRLZ/lujRgj4E7WRbAJi3dh4VTLwnKV08YfoMJqfVkWyqRXeFUbdE2Egwjw97otr6VMa5SG1vmFU6HuUnQN49m0WZCGUohy1Reg2iLblqOTJs0kGdOv7oOjKa7btGvaf8Y3AFWrhg==:9532\n" +
"^FO259,388^GFA,269,330,15,:Z64:eJyTb2AAgToGCCh4ACIZD0NEGRISwNxGKPcAmCvNCJM9ACIlm6F67cHCEv+gXMbD/Tb2DQbsfDYf/vAf+Md4mE0iEcjlkUg4w3OwjZ+ZTeIAQ4INj0Rim0Qy0BAwNw3KNTgM5h7mkUhutyiGcg8gcx/AuQ0/Ds+3KWZsfsxX87ndovAMf+P3H/aMDXbs9x+3WxT8ATmFmRlMArk8OLmMbRIJEC4bmHtO5gGYWw/mMgDdDDaKASzIUMEODQMeBhgAAMOSRSk=:5649\n" +
"^PQ1,0,1,Y\n" +
"^XZ\n";
}
@@ -420,6 +439,8 @@ public class PdaPrintServiceImpl implements PdaPrintService {
"^FO686,268^GFA,301,324,12,:Z64:eJxF0LFqwzAQxvG/MFhLKq8ZRP0KGV0amlfRI3gMpC3K0uc68Bo6d1TIkKWDuhla6p6ioQdCPz5OoDsoFbrc3oBsgpm31SkFthmeYPyaAr0EdhE5vCXsUejExN6rp0gjDW44x/YKJln8eMHpQ7LDpyv+Wb33PMg7/Yd6WHOIJ73VfuBx0XCtdiP2e6ab1e2I22RcyZvEfcisik3Ci559sXAnv/RztVk096VfaH4E/xLV0SwIu6nkkaxeWbWNZeLbgMVW3X3WHhuFV1/3YI+p/rNuRefgvzT/A0TbSR0=:0A13\n" +
"^FO547,272^GFA,241,304,16,:Z64:eJx1zrENwjAQBdA7WbprTGhTIGYwJdsQsUAmiHyyZFcwAcPEoqCCmg1YIUUkY5sGkPK7V/yvD4AyMcNMCoYGLQC6DTOeie2Nqj0xK0UsEtBui1cnV+2qbbZVpEd0YnW2ykavR4hS+iHpu0texxRj3eP2eVW+7WQsVp6KKdv+O2VzaEx/DGR2V1f21u5i+u5Bxrzqv71Mpj/M2UO2hq9Q+bfg5mNYcomSX2OybxJKQig=:5CD7\n" +
"^FO582,213^GFA,237,285,15,:Z64:eJx9zjEOgkAQBdAxmyzNZG2/CZErUG7lWXZvwAkMhsJDeBiHUNh5hqWxho6CwkG0sGG6l5+ZP0RmEIl3Y22WEoicTxLHxlqugpI5SGyVQIUjMZUS625h+eNFU4IHk6PDlwzdNVJIvOrlYs6VVDmJsxI5LwRLXy/ESkivuw7YT9qLsu2bxrnce00tQpce5nZyn6/MkJ7hvBtfWQraqyO0TtCvtkgb9P8spjeReTug:A02F\n" +
"^FO145,453^GFA,565,726,33,:Z64:eJx10jFLAzEUAOAXAi9L2qwRT/0LAZcWxPsrEaGTQ0cne+DaH1An/8KBIA4OJ8K5BOduRg6cHOoiFcrFl7ur2oK5G0Luy3svlwfQDAug25mBrSHpIYBwDAiIaFgoAOj1zYe4ESOQYKTKEgI8ezo/qY74ZQcM8Ag0AUKiNsPsOa0+FSKBNAQYTy4zAqYBliIMM7dbleI65o51+YQVP6AgsDebq9OS3cy6FGuABB4yxEPU896bg+quA0USS7ZWhGkDPiEp+iMHrznImIER8BGgUfLxTYXbeNqRY68e/4KJjyke3/fFEYKOYOFFWG5G0LI8S3v3tI6jFcs3I4BNw1KWA/G1xGJOEbjZBvtmLEsN/hyrmSAwWGwBNAvpDHzc4YXmBIazFrTHTAOVlMuXBbvKsU9ghTvTtsj2R2kq8sRLZ/lujRgj4E7WRbAJi3dh4VTLwnKV08YfoMJqfVkWyqRXeFUbdE2Egwjw97otr6VMa5SG1vmFU6HuUnQN49m0WZCGUohy1Reg2iLblqOTJs0kGdOv7oOjKa7btGvaf8Y3AFWrhg==:9532\n" +
"^FO259,388^GFA,269,330,15,:Z64:eJyTb2AAgToGCCh4ACIZD0NEGRISwNxGKPcAmCvNCJM9ACIlm6F67cHCEv+gXMbD/Tb2DQbsfDYf/vAf+Md4mE0iEcjlkUg4w3OwjZ+ZTeIAQ4INj0Rim0Qy0BAwNw3KNTgM5h7mkUhutyiGcg8gcx/AuQ0/Ds+3KWZsfsxX87ndovAMf+P3H/aMDXbs9x+3WxT8ATmFmRlMArk8OLmMbRIJEC4bmHtO5gGYWw/mMgDdDDaKASzIUMEODQMeBhgAAMOSRSk=:5649\n" +
"^PQ1,0,1,Y\n" +
"^XZ\n";
byte[] zplBytes = zplContent.getBytes(StandardCharsets.UTF_8);

View File

@@ -74,6 +74,16 @@ public class MdPdmMaterialcar implements Serializable {
*/
private String print_no;
/**
* 储存条件
*/
private String storage_conditions;
/**
* 有效期
*/
private String validity_period;
/**
* 经销商
*/

View File

@@ -72,6 +72,8 @@ public class MdPdmMaterialcarServiceImpl extends ServiceImpl<MdPdmMaterialcarMap
row.put("supp_name", dto.getSupp_name());
row.put("qty", dto.getQty());
row.put("bag_code", dto.getBag_code());
row.put("storage_conditions", dto.getStorage_conditions());
row.put("validity_period", dto.getValidity_period());
param.put("row", row);
// 调用法印服务
pdaPrintService.printBag(param);

View File

@@ -75,6 +75,11 @@ public class GroupPlate implements Serializable {
*/
private String supp_code;
/**
* 有效期至
*/
private String validity_period;
/**
* 组盘人
*/

View File

@@ -82,4 +82,14 @@ public interface MdPbGroupplateMapper extends BaseMapper<GroupPlate> {
* @return List<JSONObject>
*/
List<JSONObject> getBagAssembly(@Param("param") JSONObject whereJson);
/**
* 手持:
* 物料组袋-根据袋码查询组袋信息
* @param whereJson {
* "bagNo" 袋码
* }
* @return List<JSONObject>
*/
List<JSONObject> queryBagInfo(@Param("param") JSONObject whereJson);
}

View File

@@ -243,4 +243,26 @@
mg.bag_code = #{param.bag_no}
</if>
</select>
<select id="queryBagInfo" resultType="com.alibaba.fastjson.JSONObject">
SELECT
mg.*,
mg.bag_code AS bagNo,
m.material_code,
m.material_name,
m.quality_code,
c.class_name,
s.supp_name
FROM
md_pb_groupplate mg
LEFT JOIN md_me_materialbase m ON m.material_id = mg.material_id
LEFT JOIN md_pb_classstandard c ON m.material_type_id = c.class_id
LEFT JOIN md_cs_supplierbase s ON s.supp_code = mg.supp_code
WHERE
1 = 1
<if test="param.bagNo != null and param.bagNo != ''">
AND
mg.bag_code = #{param.bagNo}
</if>
</select>
</mapper>

View File

@@ -195,6 +195,7 @@
<el-table-column prop="status" label="状态" :formatter="formattStatus" :min-width="flexWidth('status',crud.data,'状态')" />
<el-table-column prop="qty" label="组袋重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="supp_code" label="供应商" :min-width="flexWidth('supp_code',crud.data,'供应商')" />
<el-table-column prop="validity_period" label="有效期" :min-width="flexWidth('validity_period',crud.data,'有效期')" />
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
<el-table-column prop="create_name" label="组袋人" :min-width="flexWidth('create_name',crud.data,'组盘人')" />
<el-table-column prop="create_time" label="组袋时间" :min-width="flexWidth('create_time',crud.data,'组盘时间')" />

View File

@@ -21,15 +21,26 @@
</el-row>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation>
<!-- <el-button-->
<!-- slot="right"-->
<!-- class="filter-item"-->
<!-- type="success"-->
<!-- icon="el-icon-refresh"-->
<!-- size="mini"-->
<!-- @click="materialSync"-->
<!-- >-->
<!-- 物料同步-->
<!-- </el-button>-->
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-refresh"
icon="el-icon-thumb"
size="mini"
@click="materialSync"
:loading="showDtlLoading"
@click="down"
>
物料同步
导出
</el-button>
</crudOperation>
<!--表单组件-->
@@ -105,7 +116,9 @@
<el-table-column prop="material_name" label="物料名称" width="180" show-overflow-tooltip />
<el-table-column prop="quality_code" label="质量代码" width="140" />
<el-table-column prop="supp_name" label="供应商名称" width="200" />
<el-table-column prop="produce_name" label="生产商" width="200" />
<el-table-column prop="class_name" label="物料分类" width="140" />
<el-table-column prop="storage_conditions" label="储存条件" width="200" />
<el-table-column prop="unit_name" label="计量单位" />
<el-table-column label="启用" align="center" prop="is_used">
<template slot-scope="scope">
@@ -149,6 +162,8 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import {download} from "@/api/data";
import {downloadFile} from "@/utils";
const defaultForm = {
material_id: null,
@@ -206,6 +221,7 @@ export default {
classes2: [],
classes3: [],
fullscreenLoading: false,
showDtlLoading: false,
measure_unit: [],
productSeries: [],
permission: {},
@@ -274,6 +290,16 @@ export default {
data.is_used = '0'
}
})
},
down() {
const data = this.crud.query
this.showDtlLoading = true
download('/api/Materia/download', data).then(result => {
downloadFile(result, '物料基础信息', 'xlsx')
this.showDtlLoading = false
}).catch(() => {
this.showDtlLoading = false
})
}
}
}